2017-11-10 90 views
-1

我的代码与if语句一起工作,直到做出10个动作为止,然后检查获胜者是否在getWinner()中,但是这是一个问题,进行了10次移动。在游戏结束前检查“获胜者”

我最初只是getWinner();没有if语句的方法假设这会在每次单击按钮时检查赢家。这并没有给我任何错误,但它只是无法正常工作。

我还能试试吗?为什么只添加getWinner();没有if语句不起作用?

public class MainActivity extends AppCompatActivity { 

public int counter = 1; 

private Button button1; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    button1 = (Button) findViewById(R.id.button1); 

//对于所有按钮都重复这个操作,为了缩短文章的原因,我将其全部留出。

button1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       if (button1.getText().toString().equals("")) { 

        if (counter % 2 == 0) { 
         button1.setText("O"); 
        } else { 
         button1.setText("X"); 
        } 
        counter++; 
       } 
       if (counter == 10) { 
        getWinner(); 
       } 
      } 
     }); 

//add the other buttons here... 

public void getWinner() { 
String b1, b2, b3, b4, b5, b6, b7, b8, b9; 

b1 = button1.getText().toString(); 
// code here 
    } 
+0

我已经低估了这个问题,因为这里的代码太多了。为了清楚地说明问题的具体位置,请删除不直接导致问题的任何代码,如果可以将其减少到十行或更少,我会考虑收回downvote。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve) –

+0

我没有收到错误,因此我不知道它在哪里。不确定其逻辑或将方法放在错误的地方。现在我已经混淆了一段代码。我分手了,但由于这不够好,你继续前进,并保持你的失望。 – Chris

+0

了解如何使用调试器。除去if语句,在分配字符串后在getWinner()函数中放置一个断点,然后检查每个变量的内容。 – rguessford

回答

0

看起来像任何按钮除了Button1的事项:

b1 = button1.getText().toString(); 
b2 = button1.getText().toString(); 
b3 = button1.getText().toString(); 
b4 = button1.getText().toString(); 
b5 = button1.getText().toString(); 
b6 = button1.getText().toString(); 
b7 = button1.getText().toString(); 
b8 = button1.getText().toString(); 
b9 = button1.getText().toString(); 
+0

大声笑....谢谢。跳过了无数次。谢谢你复制和粘贴 – Chris

0

基于您的评论:“我本来只是GetWinner();方法没有if语句假定这将检查每次点击一个按钮时都是赢家,这并没有给我带来任何错误,但它却无法正常工作。“

假设代码未按照您预期的方式执行上述操作。每次单击按钮时,我都会建议对GetWinner()进行回调。

+0

我删除了更多的代码来缩短帖子,但另一个用户事先发现了它,当复制和粘贴制作按钮时,我发生了意外错误。 – Chris

0

如果您点击第一个按钮,所有字符串从第一个按钮获取它们的值,它是否工作?

+0

如果没有if语句,程序按预期运行,这很奇怪,没有if语句,只有当第一个按钮被点击时它才起作用。我在发表道歉信时缺乏细节。 – Chris

相关问题