此功能用于代码播放井字游戏:
//--------------------FUNCTION--------------------
bool playCell(int player, int position, int gameBoard[]) {
if (gameBoard[position] == 10 || gameBoard[position] == 11) {
return false;
} else {
return true;
if (player == 0){
gameBoard[position] = 10;
} else {
gameBoard[position] = 11;
} // end if
}
} // end function
playCell接受一个玩家(0表示“O”,1表示“X”),一个位置(1到9)和九个元素gameBoard,如果移动是合法的,则返回true(即该点还没有采取),否则为假。如果移动是合法的,则将位置更改为该玩家编号(“O”为10,“X”为11)。如果玩家或位置输入无效,则返回false。
我正在试图弄清楚如何让数组将其值更改为10或11,具体取决于玩家,并保存到他们输入的位置。
答案 0 :(得分:1)
return
关键字将程序流重定向回主程序。因此返回后的代码将不会被执行。更改return
的位置:
//--------------------FUNCTION--------------------
bool playCell(int player, int position, int gameBoard[])
{
if (gameBoard[position] == 10 || gameBoard[position] == 11)
{
return false;
}
else
{
if (player == 0)
{
gameBoard[position] = 10;
}
else
{
gameBoard[position] = 11;
} // end if
return true;
}
} // end function
答案 1 :(得分:0)
在数组赋值之前有一个return语句:
return true; // HERE
if (player == 0){
gameBoard[position] = 10;
} else {
gameBoard[position] = 11;
} // end if
这会导致您的代码无法执行。从那里删除此行并放在正确的位置。