Я пишу игру в крестики-нолики на Java, используя двумерный массив 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);
}