[英]How to initialize a character or string array using for loop in 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。
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.