在比赛结束前检查“胜利者”

时间:2017-11-10 22:31:52

标签: java android

我的代码使用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
  }

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

根据你的评论:"我原来只有GetWinner();没有if语句的方法,假设每次单击一个按钮时都会检查获胜者。这并没有给我任何错误,但它根本无法正常工作。"

假设在您尝试上述操作时代码未按预期执行。我建议每次点击按钮时都要回调GetWinner()。

答案 2 :(得分:0)

如果您点击第一个按钮,所有Strings从第一个按钮获取它们的值是否有效?