前言
三子棋是C语言里较为简单并且可以拿来练手的小项目,它的执行流程如下:
编写代码前的思考
在编写代码前,我们需要思考如何实现三子棋,大致的步骤是:
1.打印菜单栏,并使玩家选择开始游戏或者退出游戏
2.如若玩家选择开始游戏,实现棋盘的打印与数据的存储
3.玩家下棋位置的存储
4.电脑下棋位置的存储
5.判断游戏的输赢
了解了基本的操作流程,接下来就是代码的编写(将会按照思考的步骤编写代码)
三子棋代码的编写
1.菜单栏的打印与游戏前的准备
大致代码如下:
大致实现使玩家了解自己和电脑的棋子类型,并通过输入相应数字来操作
2.如若玩家选择开始游戏,实现棋盘的打印与数据的存储
大致代码如下:
我们需要创建一个二维数组来存储棋子的数据,并通过两个函数来实现初始化创建的二维数组和棋盘的打印。
注:ROW = 3 , COL = 3.(读者可先了解记住,下文会做解释)
二维数组的初始化
我们将其初始化为空格,简洁且美观。
打印棋盘
大致了解一下棋盘的样子
当然你也可以创建自己喜欢样子的棋盘,但暂且先以此为例
打印棋盘的代码实现
自此我们就实现了棋盘的打印与数据的存储
3.玩家下棋位置的存储
代码实现如下:
我们对玩家下棋的位置需要进行判断,并且需要判断是否可以存储棋子位置数据。
4.电脑下棋位置的存储
与玩家下棋代码实现思路类似,只不过电脑下棋不需要判断下棋位置是否可行,因为我们会将电脑的下棋位置控制在可放棋子的位置。
5.判断游戏的输赢
在每一步棋子被放置后都需进行判断游戏的继续进行或者结束,即是否已产生输赢或者平局
代码实现如下:
注:其中的PINGJU为判断是否为平局的函数,P / C继续看下文就可以了解
我们进行每一行的检索,每一列的检索,斜对角线的检索,如若有满足条件的情况则返回中间的值,并以中间的值来判断谁输谁赢,又判断了是否为平局。
最终我们会以返回的值来判断游戏最终的输赢
简单来讲就是通过返回的值最终判断游戏的输赢,而不是在函数中直接返回输赢的数据。(望读者了解)
总体的判断流程:
我们每一次落子后都需进行判断,并且落子为一个循环过程。
游戏实现过程的补充:
在上边的实现过程中我们可以发现代码的编写比较长,所以我们可以用一个.h文件来存放我们的所需头文件,用另一个.c文件来定义我们函数。
函数定义.c文件即上面三子棋实现过程中所写(此不在展示),这样将会使代码的编写更加的有条理。
总结
三子棋的实现流程用一句话概括即为:先准备,再下子,后判断。