void displayboard(char arr[ROW][COL], int row, int col)//打印棋盘
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
printf("|");
printf(" %c ", arr[i][j]);
}
printf("\n");
{
for (int k = 0; k < col; k++)
{
printf("|---");
}
printf("\n");
}
}
}
复制代码
最后实现是这样的。 2.各自下棋
①玩家下棋
玩家这部分我们需要自己输入横竖坐标,但是实际上数组的是从0开始的,因此我们输入的时候应该给玩家输入的实际坐标减一,假如玩家输出超出范围或者输入的值被电脑抢先输入程序会反馈重新输入,这边使用while循环也成功实现了这一点,直到找到break才可以跳出这个循环。
[code]void playermove(char arr[][COL], int row, int col)//玩家回合{ int x = 0; int y = 0; printf("玩家回合\n"); while (1)//一直循环直到break { printf("请输入你想要下的坐标\n"); scanf_s("%d %d", &x, &y); if (x >= 1 && x = 1 && y