gpt4 book ai didi

c - 将字符分配给二维数组[跳棋]

转载 作者:行者123 更新时间:2023-11-30 20:35:08 26 4
gpt4 key购买 nike

我正在开发一个跳棋游戏,我想将字符“x”和“o”打印到二维数组中。但我的代码不起作用,它打印出不同的字符。我需要帮助。

这是我的代码:

#include <stdio.h>


void message()
{

char name[20],name2[20];

printf("Please enter the name for the first player : ");
scanf("%s", &name);
printf("Please enter the name for the second player : ");
scanf("%s", &name2);

printf("\nGood day %s and %s, let's start the game....all the best!!!\n\n", name, name2);

}

int gameboard(char board[8][8])
{

int x, y;

for(x=0; x<8; x++)
{
for(y=0; y<8; y++)
{
printf("|%c ");
}
printf("|\n\n");
}



}

void character(char board[8][8])
{
int i,j;

for(i=0;i<8;i++){
for(j=0;j<8;j++){
if(i<3){

if(i%2 == 0){
if(j%2 == 0){
board[i][j] = ' ';

}
if(j%2==1){
board[i][j]= 'O';

}
}
if(i%2 == 1){
if(j%2 == 0){
board[i][j] = 'O';
}
if(j%2 ==1){
board[i][j]= ' ';

}
}

}
if((i==3) || (i==4))
{board[i][j] = ' ';}
if(i>4)
{

if(i%2 == 0){
if(j%2 == 0){
board[i][j] = ' ';

}
if(j%2 ==1){
board[i][j]= 'X';

}
}

if(i%2 == 1){
if(j%2 == 0){
board[i][j] = 'X';

}
if(j%2 ==1){
board[i][j]= ' ';

}
}
}

}
}

}


int main()
{
int x, y;
char bx[8][8];

message();

gameboard(bx);

character(bx);


return 0;

}

最佳答案

需要更改character(bx)gameboard(bx)的顺序,以便在打印之前可以设置数组中的值。

并按如下方式修改游戏板函数以显示特定元素的值:

int gameboard(char board[8][8])                                                                                                                                                                              
{
...

printf("|%c ",board[x][y]);

...
}

关于c - 将字符分配给二维数组[跳棋],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40335777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com