Я пишу проблему с tic tac toe.Если оператор не обрабатывается - Java
Класс TicTacToe
отлично работает, но первый оператор if в моем основном классе не обрабатывается. Класс TicTacToe
- это не то, что неправильно, потому что когда игрок 1 побеждает, oNew.checkWinner(1)
возвращает true. (Я проверил, поставив System.out.println(oNew.checkWinner(1));
прямо перед оператором if).
Но тогда он не переходит в инструкцию if, чтобы разбить цикл while и просто продолжает. Он делает то же самое с первым, если тоже.
Нечетная часть - это прекрасно работает для 2-го оператора if и 2-го else if.
public static void main(String[] args) {
TicTacToe oNew = new TicTacToe();
String champ = "";
boolean hasWon = false;
oNew.getMove();
while(hasWon == false){
oNew.setMove(1);
oNew.getMove();
if (oNew.checkWinner(1) == true){
champ = "Player 1 wins.";
hasWon = true;
}
else if(oNew.checkCatsGame() == true){
champ = "Draw";
hasWon = true;
}
oNew.setMove(2);
oNew.getMove();
if (oNew.checkWinner(2) == true){
champ = "Player 2 wins.";
hasWon = true;
}
else if(oNew.checkCatsGame() == true){
champ = "Draw";
hasWon = true;
}
}
System.out.println(champ);
}