C++:Tic Tac Toe计算机随机移动
我需要帮助我的抽搐,因为我被困在这一个。 计算机做出的随机移动将覆盖旧的移动,我不知道如何修复C++:Tic Tac Toe计算机随机移动,c++,random,tic-tac-toe,C++,Random,Tic Tac Toe,我需要帮助我的抽搐,因为我被困在这一个。 计算机做出的随机移动将覆盖旧的移动,我不知道如何修复 if (computer == 1) //computer = 1, means it's computer's turn { i = rand() % 3; j = rand() % 3; if(board[i][j] !='X' && board[i][j] != '0') { board[i][j] = '0';
if (computer == 1) //computer = 1, means it's computer's turn
{
i = rand() % 3;
j = rand() % 3;
if(board[i][j] !='X' && board[i][j] != '0')
{
board[i][j] = '0';
computer--; // computer = 0, means it's the player's turn
}
}
我的2D阵列是这样的:
char board[3][3] =
{{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'}};
这项工作:
if (computer == 1) //computer = 1, means it's computer's turn
{
bool found = false;
while (found == false)
{
i = rand() % 3;
j = rand() % 3;
if(board[i][j] !='X' && board[i][j] != '0')
{
board[i][j] = '0';
found = true;
computer--; // computer = 0, means it's the player's turn
}
}
计算机-;//computer=0,表示轮到玩家了-为什么不只是:computer=0;//意思是轮到玩家了计算机是什么类型的?还是布尔型的?计算机_turn=true。可读性++。当内部if中的条件为false时会发生什么?每次生成的数字为board[i][j]='X'&&board[i][j]='0'时,程序将进入无限循环,而不是返回并搜索另一个随机数。