目录
分装函数
首先,别看游戏很简单,需要的代码还是比较多的,为了让我们的代码井然有序,让人一目了然,我们需要分装函数。
创建三个模块:
1.game.h用于声明函数,函数调用的接口。
2.game.c用于定义函数,实现函数的功能。
3.test.c用于调用函数实现函数的功能,测试游戏。
一、游戏介绍及实现思路
游戏介绍:
三子棋,又称井字棋:
看到图片相信已经知道是那个游戏了,已经知道规则了,在这里我就不过多赘述了。
实现思路:
1.首先肯定是要打印一个棋盘,有了棋盘才能下棋。
2.玩家下棋。
3.电脑下棋:
电脑可以随机下,可以堵住玩家的棋子,可以判断自己有没有可以直接获胜的棋型
4.结局的判断:
玩家赢、电脑赢、平局。
关于实现游戏的大体思路就是这些,下面我们先做一些代码实现前的准备。
头文件 game.h 的创建
头文件里可以声明需要用到的函数,比如:
不够的话后续可以补充。
源文件 test.c 创建
对于 test.c文件的作用:
在这里写游戏整体的框架,用于游戏测试
程序开始先进入main函数;do while()语句,不管条件是真还是假都执行一次,打印简易菜单。
输入input 进行判断 输入1 进入函数game()中,执行init_board()函数进行数组的初始化,初始化为空格,再执行 display_board()函数,打印棋盘........
源文件 game.c 函数的实现
1.首先对二维数组进行初始化,因为棋盘的空位什么都没有,所有初始化为空格。
2.打印棋盘:
3.玩家进行下棋操作,下棋的位置可以用二维数组的下标来表示,因为下棋的玩家可能不是我们自己,所以下棋默认为三行三列,输入坐标进行下棋,下棋的同时判断该位置是否被占用,如果被占用则不能下棋,如果输入的坐标不合法则重新输入。
4.电脑下棋:
电脑下棋有三种情况,第一种:电脑本身没有可以获胜的棋型,并且玩家也没有可以获胜的棋型,这时电脑随机下棋,要完成随机下棋的操作需要产生随机数。
第二种:电脑有可以获胜的棋型。
第三种:玩家有可以获胜的棋型,电脑可以进行堵棋。
5.结果的判断
对于结局的判断有三种,玩家赢,电脑赢,平局
平局就意味着棋盘下满了:
我们可以增加返回值用来判断结果
每次下棋操作结束后都可以进行结局判断。
以上就是三子棋小游戏的实现,快去试试吧!