簡體   English   中英

使用C ++中的循環創建字符數組

[英]Creating a character array using a loop in C++

我試圖創建一個C ++ Tic-Tac-Toe游戲,但是當我修改字符數組(棋盤本身)時,它會在放置的行上創建兩個字符,然后在下一行的第一個元素上創建兩個字符。 下面的代碼是收集用戶輸入並將其放置到板中的代碼。

void changeBoard(int position)
{
int row = position / 3;
int column = position - (row*3);
if((player == 1 & run == 1) || (player == 0 && run == 0))
    Board[row][column] = 'X';
else
    Board[row][column] = 'O';
}

void displayBoard()
{
int i;
int z;
    for(i=0;i<3;i++)
    {
    cout << "\n\n";
    for(z=0;z<3;z++)
    {
        cout << "||" << "  " << Board[i][z] << "  ";
        if(z == 2)
            cout << "||";
    }
}
cout << "\n";
}

我省略了其余的代碼。 但是,當用戶輸入位置3(第一行的最后一個元素)時,輸出將在該位置創建一個符號,並在下一行的第一個元素上創建一個符號。

對它為什么這樣做有幫助或解釋嗎?

使用modulo% )查找列,如果希望3成為板的右上角,請確保從正數減去1。

Javascript示例: http//jsfiddle.net/howderek/nPMvz/

void changeBoard(int position)
{
position--;
int row = position / 3;
int column = position % 3;
if((player == 1 & run == 1) || (player == 0 && run == 0))
    Board[row][column] = 'X';
else
    Board[row][column] = 'O';
}

void displayBoard()
{
int i;
int z;
    for(i=0;i<3;i++)
    {
    cout << "\n\n";
    for(z=0;z<3;z++)
    {
        cout << "||" << "  " << Board[i][z] << "  ";
        if(z == 2)
            cout << "||";
    }
}
cout << "\n";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM