为我的编程课程制作一个Tic-Tac-Toe程序:目前使用这行代码检查领带,我知道它很草率:
}
else if(board[0][0] != '*' && board[0][1] != '*' && board[0][2] != '*' && board[1][0] != '*' && board[1][1] != '*' && board[1][2] != '*' && board[2][0] != '*' && board[2][1] != '*' && board[2][2] != '*')
cout << "It's a tie!\n" ;
return false;
}
我的其余胜利条件都归结为真实(其中有很多,我知道有更好的方法可以检查,但不知道如何)。无论如何,如果我返回true,它将在第一次迭代时结束程序。我正在运行的循环是:
do {
cout << "Player X's bid (" << tokens1 << " tokens left): " ;
bid1 = checkBid(lowBound, tokens1);
cout << "Player O's bid (" << tokens2 << " tokens left): " ;
bid2 = checkBid(lowBound, tokens2);
cout << endl;
playerTurn(bid1, bid2, board, tokens1, tokens2);
showBoard(board);
} while(!gameOver(board));
尝试使用
while(gameOver != true);
或
while(gameOver != false);
给了我一堆错误。试图弄清楚为什么我目前的领带检查工作不正常。胜利检查工作正常。
如果我在领带检查返回false时运行该程序,它将给出消息&#34;它是一个平局!&#34;但它不会停止该计划。如果我在tie检查返回true时运行它,它将在第一次迭代时结束它。