如何更改数组C ++中的值

时间:2014-03-30 02:44:58

标签: c++ arrays function boolean

此功能用于代码播放井字游戏:

//--------------------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,具体取决于玩家,并保存到他们输入的位置。

2 个答案:

答案 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

这会导致您的代码无法执行。从那里删除此行并放在正确的位置。