C语言数组(11)--- 写一个三子棋游戏(2)
  uUWKQE7Avyk4 2023年11月02日 25 0

一.回顾

我们上篇文章写了三子棋游戏的菜单以及初始化棋盘(利用的函数是:InitBoard())那么接下来就让我们继续来写这个游戏的其他部分

二.打印棋盘

我们之前说过棋盘本质就是一个二维数组,那么打印棋盘就是打印二维数组中的元素,我们将打印棋盘的代码封装成函数:DisplayBoard() 

这个函数与InitBoard()函数一样都需要接收三个参数,分别是:数组名、行、列,那么我们就可以写成以下形式:

DisplayBoard(board,ROW,COL);

相应的我们需要在 game.h 的头文件中定义这个函数,代码如下:

void DisplayBoard(char board[ROW][COL], int row, int col);

定义完函数接下来我们就需要在源文件 game.c 中声明这个函数,代码如下:

void DisplayBoard(char board[ROW][COL], int row, int col){
//语句
}

我们可以看到上篇文章中要求我们打印的棋盘是有分割线的,用来分割数据,所以我们既要打印数据也需要打印分割线,所以我们创建一个for循环,for循环中需要打印数据与分割线,代码如下:

void DisplayBoard(char board[ROW][COL], int row, int col){
	int i = 0;
	for (i = 0; i < row; i++){
		printf(" %c | %c | %c \n",board[i][0],board[i][1],board[i][2]); 
    //打印数据
		printf("---|---|--- \n");
    //打印分割线
	}
}

我们尝试运行程序就可以发现一个棋盘成功的打印了出来,如图所示:

C语言数组(11)--- 写一个三子棋游戏(2)_C语言

但是打印的结果与我们之前想象中的有些不同,分割行应该只有两条但是程序中出现了三条,要解决这个问题也很简单我们只要在打印分割行代码前面写入这段代码:

if(i<row-1){
  printf("---|---|---\n");
}

这样子问题就解决了,如图所示:

C语言数组(11)--- 写一个三子棋游戏(2)_实战_02

                                                                                                                    2023/9/3

                                                                                                                        王起舟

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  zLxnEsMLk4BL   2023年11月19日   35   0   0 数组字符串数组名
  gBkHYLY8jvYd   2023年11月19日   27   0   0 #include数组ci
  X5zJxoD00Cah   2023年11月19日   21   0   0 数组单引号字符串
  gBkHYLY8jvYd   2023年12月10日   24   0   0 #include数组i++
uUWKQE7Avyk4