Нужна лучшая логика для TicTacToe
Я реализую приложение TicTacToe GUI, используя Java Swing. Текущая логика для победы:
JButton[] button = new JButton[9];
boolean win = false;
//logic for player's win
if (button[0].getText() == button[1].getText() && button[1].getText() == button[2].getText() && button[0].getText() != "") {
Won = true;
} else if (button[3].getText() == button[4].getText() && button[4].getText() == button[5].getText() && button[3].getText() != "") {
Won = true;
} else if (button[6].getText() == button[7].getText() && button[7].getText() == button[8].getText() && button[6].getText() != "") {
Won = true;
} else if (button[0].getText() == button[3].getText() && button[3].getText() == button[6].getText() && button[0].getText() != "") {
Won = true;
} else if (button[1].getText() == button[4].getText() && button[4].getText() == button[7].getText() && button[1].getText() != "") {
Won = true;
} else if (button[2].getText() == button[5].getText() && button[5].getText() == button[8].getText() && button[2].getText() != "") {
Won = true;
} else if (button[0].getText() == button[4].getText() && button[4].getText() == button[8].getText() && button[0].getText() != "") {
Won = true;
} else if (button[2].getText() == button[4].getText() && button[4].getText() == button[6].getText() && button[2].getText() != "") {
Won = true;
}
Это выглядит немного неуклюже. Есть ли лучшая логика для победы игрока?