关于C语言 三子棋的核心算法和其实现它的主要函数

以下为个人见解:

1.首先,先理解三子棋这个游戏的输赢平的产生条件判断:赢/输:棋盘上产生行/列/对角线出现三枚完全相同的棋子。平:棋盘上所有格子已经被双方棋子填充的情况,依旧没有产生行/列/对角线出现三枚完全相同的棋子。

2.所以,我们想实现以下三子棋程序,我们应先在VS2010或者VS2017创建个game.h的头文件,然后可以思考一下,该在这个文件写什么代码呢?我个人觉得我们应该紧紧围绕三子棋这个游戏为出发条件:初始化棋盘 打印棋盘格子 玩家下棋 电脑下棋 判断输赢和是否继续

3.当然,在实现步骤2之前,我们还应该考虑现实中玩游戏是不是要先询问玩家本人是否玩游戏或者退出,所以在这里我再创建个chess.c文件,并该目的编写成代码发进去,如下:

关于C语言 三子棋的核心算法和其实现它的主要函数_第1张图片

关于C语言 三子棋的核心算法和其实现它的主要函数_第2张图片

关于C语言 三子棋的核心算法和其实现它的主要函数_第3张图片

  

关于C语言 三子棋的核心算法和其实现它的主要函数_第4张图片 关于C语言 三子棋的核心算法和其实现它的主要函数_第5张图片

在这里我先简略讲解下这个代码,用的是do-while循环,表示不管条件真假都要先循环一遍do花括号里面的函数,然后是switch函数这里可以看出,对于玩家来说选1就是开始游戏,选0退出游戏,选其他数,系统会继续询问你是否选择开始游戏。 对应程序来说,选1表示进入case 1,然后进入game函数(接下来会讲game函数里面的主要内容),然后退出循环(因为Input变量等于0,while括号里的条件为假,所以退出循环),选0表示系统会输出退出游戏, 选其他数和选0的结果类似。

 4.之后,我们再把步骤2的目的实现的代码写出来

关于C语言 三子棋的核心算法和其实现它的主要函数_第6张图片

 关于C语言 三子棋的核心算法和其实现它的主要函数_第7张图片

前四个函数都用void表示,表示不返回值,最后一个用char表示,表示返回字符,为之后系统根据

返回值判断程序接下来运行的结果。

 5.这里我展示下game.c文件(也就是game函数)的内容:

关于C语言 三子棋的核心算法和其实现它的主要函数_第8张图片

关于C语言 三子棋的核心算法和其实现它的主要函数_第9张图片

关于C语言 三子棋的核心算法和其实现它的主要函数_第10张图片 关于C语言 三子棋的核心算法和其实现它的主要函数_第11张图片

关于C语言 三子棋的核心算法和其实现它的主要函数_第12张图片  关于C语言 三子棋的核心算法和其实现它的主要函数_第13张图片

 关于C语言 三子棋的核心算法和其实现它的主要函数_第14张图片

关于C语言 三子棋的核心算法和其实现它的主要函数_第15张图片

 这里注意下:这里的is_full函数用int类型表示返回值,其效果与步骤4中关于is_win函数(game.h文件的最后一个函数)效果相同

 关于C语言 三子棋的核心算法和其实现它的主要函数_第16张图片

 关于C语言 三子棋的核心算法和其实现它的主要函数_第17张图片

以上是game函数(game.c)文件的全部内容 ,我个人觉得注意的部分都用注释说明了,相信小伙伴们肯定是能看懂并自己敲出来的,最后再附一张运行结果图吧关于C语言 三子棋的核心算法和其实现它的主要函数_第18张图片

你可能感兴趣的:(算法,深度优先)