所以我正在制作一个Tic Tac Toe游戏,但我陷入了一个地步,如果已经采取了位置=>让用户进入另一个位置。这里是我正在谈论的:如何循环,直到== true
int pos[3][3]=
{
{0,0,0},
{0,0,0},
{0,0,0}
};
bool CheckForPos(int x,int y)
{
if (pos[y][x] == 0) return true;
return false;
}
这是我检查位置是否已经输入的矩阵。 和代码在INT主():
if(CheckForPos(y,x))
{
pos[y][x] = 1;
chess[y][x] = 'X';
}
else
{
while (pos[y][x] = 1)
{
cout << "Spot already taken." << endl;
cin>>get;
}
}
哪里是我的错误,我该如何解决呢?有任何想法吗 ?使用
您在while循环中只使用一个equals,它将始终返回true,因为它只是分配值 –
最好提供一个[SSCCE](http://www.sscce.org/)。 –
除了上述==/=的问题。只要pos [x] [y]等于1,代码就会重复循环。你只需阅读一个新的价值。但据我所见,你不更新x/y,因此一旦你进入循环,你应该在那里堆叠。 –