C++ Tic Tac Toe如何在函数中调用2d数组?
所以我在做一个井字游戏,我遇到了一个问题,什么是自动取款机:C++ Tic Tac Toe如何在函数中调用2d数组?,c++,C++,所以我在做一个井字游戏,我遇到了一个问题,什么是自动取款机: 董事会 输入板 根据用户输入更新电路板 什么不起作用: Win detection(基本上我有一个函数,应该是使用棋盘2d阵列,然后确定游戏是否结束,这对我来说不起作用) 我如何调用这个函数 我目前的代码有什么改进吗 bool GameState(char a[3][3], bool gameOver) Github: 编辑:该函数现在运行良好,代码已更新,但现在它不会注册获胜状态 编辑2:win检测有效,但现在它只在它应
- 董事会
- 输入板
- 根据用户输入更新电路板
- Win detection(基本上我有一个函数,应该是使用棋盘2d阵列,然后确定游戏是否结束,这对我来说不起作用)
- 我如何调用这个函数
- 我目前的代码有什么改进吗
bool GameState(char a[3][3], bool gameOver)
编辑2:win检测有效,但现在它只在它应该注册后检测1圈,有点难以解释,所以我将给出一个例子:x在1、5和9中填充(从左上到右下形成一条对角线),并且在o移动后仅在1圈后注册win。您可能需要写出所有的案例
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...
在所有情况下,您都没有更新变量
gameOver
的值
而不是
GameState(board, gameOver);
换成
gameOver = GameState(board, gameOver);
这可能是最好的答案CodeReview@StackExchange.comThat这不是我的问题,我的问题是如何将其实现到一个函数中。我会这样做,并在每次移动后调用GameState函数。我修复了所有问题,win detection现在可以工作,但它只在以后注册win 1移动,假设我在1、2和3号网格中有x,然后它只在o移动时才注册。很抱歉,你仍然不明白,我知道这是如何工作的,但它就是不工作,知道我的意思吗?看看我的代码,每次切换后我都会调用该函数,但它仍然没有注册为win::那么你不应该问如何实现该函数。你应该发布你的代码。是您的代码逻辑有问题。当您只提供函数头时,您希望人们如何帮助您改进代码?首先,我在实现函数时遇到问题,然后我解决了这个问题,现在我在使其工作时遇到了问题。@正如我所怀疑的,您没有更新您的标志。