Tic-Tac-Toe如何在函数中调用二维数组?

时间:2014-12-03 21:40:54

标签: c++

所以我正在制作一个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转之后记录胜利。

2 个答案:

答案 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);