Я программирую крестики-нолики и застрял в написании галстука (). Мой победитель () выглядит следующим образом, и diagonalTest()
rowTest()
и columnTest()
просто проверяют свои имена, чтобы узнать, какой игрок выиграл. Однако до тех пор, пока кто-то не выиграет, все они возвращают false, и из-за этого они ложны во время игры, пока кто-то не выиграет. Учитывая это, как я могу написать tie () ??
public static char getWinner(char p)
{
if(diagonalTest() || rowTest() || columnTest())
return p;
return ' ';
}
3 ответа
Галстук соответствует
bool isTie = !(diagonalTest() || rowTest() || columnTest()) && boardIsfull();
Крестики-нолики имеют 9 квадратов, поэтому 9 шагов имеют счетчик для каждого шага, когда счетчик равен 9, тест на победу, если нет ничьей.
Вам нужно иметь инструкцию else, когда все тесты ложны:
if(diagonalTest() || rowTest() || columnTest()){
return 'p';
}else{
return 't'; //t char for tied
}
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.