所以我正在製作一個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,因此一旦你進入循環,你應該在那裏堆疊。 –