因此,我正在編寫一個C程序,該程序將針對用戶播放TicTacTo。但是,我遇到了檢查是否有贏家的功能問題。它似乎根本不起作用。當連續有3個時,遊戲纔會繼續。這是相關的代碼。工作TicTacTo CheckWin功能?
這是在我的主要功能:
do {
humanChoice(); // let the user make a play
computerChoice(); // does nothing at the moment
gameStatus = checkWin(); // returns 1 if it finds a winner
} while(gameStatus==0);
的humanChoice在用戶選擇的位置起在陣列中的「X」。這已經過徹底測試,並且完美運行。然後checkWin()函數:
int checkWin() {
if (
matrix[0][0] == matrix[0][1] == matrix[0][2] || // 1st row
matrix[1][0] == matrix[1][1] == matrix[1][2] || // 2nd row
matrix[2][0] == matrix[2][1] == matrix[2][2] || // 3rd row
matrix[0][0] == matrix[1][0] == matrix[2][0] || // 1st column
matrix[0][1] == matrix[1][1] == matrix[2][1] || // 2nd column
matrix[0][2] == matrix[1][2] == matrix[2][2] || // 3rd column
matrix[0][0] == matrix[1][1] == matrix[2][2] || // left to right diagonal
matrix[0][2] == matrix[1][1] == matrix[2][0] // right to left diagonal
) {
printf("Win! Game Over!");
return(1);
}
return(0);
}
我使用下面的2維陣列,用於我的「矩陣」:
char matrix[3][3];
我意識到,現在的程序不能在區分電腦贏了,用戶贏了。現在這是無關緊要的。我只需要它來檢查一般的勝利。
您注意到了什麼?
如果您的問題已被回答,您應該接受其中一個答案。 – nhgrif