我正在使用Java的2D数组JButton编写井字游戏。我需要能够使用For循环来检查游戏的赢家。当连续包含X或O的获胜者时,我已经成功地检查了获胜者,但是我不太确定如何检查列,对角线和反向对角线。我会使用另一种方法来检查获胜者,但即时通讯要求以一种非常特定的方式编写。
buttons = new JButton[3][3];
public String checkWin() {
String winString = null;
for (int i = 0; i < buttons.length; i++){
int xCount = 0;
int oCount = 0;
for(int j = 0; j < buttons[i].length; j++){
if (buttons[i][j].getText().equals("X")){
xCount ++;
}
if (buttons[i][j].getText().equals("O")){
oCount ++;
}
if (xCount == buttons[i].length){
winString = "X wins!";
}
if (oCount == buttons[i].length){
winString = "O wins!";
}
}
}
return (winString);
}
最佳答案
首先在纸上画一个木板,并注意垂直获胜配置的坐标。
然后重复对角线获胜。
这应该告诉您您需要了解的内容。
关于java - 如何在Java 2d阵列井字游戏中检查垂直和对角线Win,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9899612/