所以我正在制作一个tic tac toe游戏,我遇到了一个问题,什么有效:
什么行不通:
胜利检测,(基本上我有一个应该采用2d阵列的功能,然后查看游戏是否已经结束,这对我不起作用)
我如何调用此功能
我目前的代码是否有任何改进?
bool GameState(char a[3][3], bool gameOver)
Github:https://github.com/MrCappucino/Tic-Tac-Toe/blob/master/main.cpp
编辑:该功能现在运行正常,代码更新,但现在它不会注册获胜状态编辑2:胜利检测有效,但现在它只能在注册后检测到1转,有点难以解释所以我举一个例子:x是填充1,5和9(做对角线从左上角到右下角的线条,并且在移动后仅在1转之后记录胜利。
答案 0 :(得分:0)
您可能必须写出所有案例
if(a[0][0] == 'X' && a[0][1]=='X' && a[0][2] == 'X') //across top row
{
//won
}
else if(a[1][0] == 'X' && a[1][1]=='X' && a[1][2] == 'X') //across middle row
{
//won
}
//etc...
答案 1 :(得分:0)
在所有情况下,您都没有更新变量gameOver
的值。
而不是
GameState(board, gameOver);
将其更改为
gameOver = GameState(board, gameOver);