我正在制作Tic Tac Toe游戏,并创建了一个将X或O插入我的数组的函数。我的设计遇到了一个问题。我调用该函数以使X移开,但是当下一个玩家回合时,我该如何使其变为O?
在我放入makeMove()之后,是否可以通过某种方式调用它而不是X进行O形转弯。因为如您所见,如果我执行X,它总是会要求X而不是O。我怎么做选择拉X或O弯。
问题是我只需要一个函数就可以 Action 。
int main()
{
while(SOME CONDITION HERE)
{
printBoard();
cout << "Player X please choose a position: ";
makeMove('X');
cout << "Player O please choose a position: ";
makeMove('O');
}
}
int makeMove(char marker)
{
int choosePosition = 0;
cin >> choosePosition;
ticTacBoard[choosePosition - 1] = marker;
}
最佳答案
从此开始:
int main()
{
while(SOME CONDITION HERE)
{
printBoard();
cout << "Player X please choose a position: ";
makeMove('X');
cout << "Player O please choose a position: ";
makeMove('O');
}
}
int makeMove(char marker)
{
int choosePosition = 0;
cin >> choosePosition;
ticTacBoard[choosePosition - 1] = marker;
}
请注意,您将要更改
SOME CONDITION HERE
部分,但可以快速将其替换为1
并获得与当前脚本相同的行为(实际上好一点)。但是您最终将需要在其中放置有意义的内容-可以告诉程序停止提示玩家排名的东西,例如,宣布获胜者。
以下是做同一件事的更简化的方法:
int main()
{
while(SOME CONDITION HERE)
{
printBoard();
makeMove('X');
makeMove('O');
}
}
int makeMove(char marker)
{
cout << "Player " << marker << " please choose a position: ";
int choosePosition = 0;
cin >> choosePosition;
ticTacBoard[choosePosition - 1] = marker;
return 0;
}
请注意添加的
return 0
-如果您不希望返回某些内容,则应该使makeMove
返回void
,以免造成混淆。