「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」
三子棋
这是一个用C语言写的简单小游戏,也是我第一个用C语言写的小游戏,游戏虽小,代码俱全。
test.c文件
为了方便自述,还是从mian进入(我也优化过三子棋代码,不能无限输错)
1 | int复制代码{ |
菜单函数
1 | void复制代码{ |
game函数
1 | void复制代码{ |
game.c文件
InitBoard初始化棋盘函数
这里为什么要用传过来的row,col呢,有人会说不是有ROW,COL吗理论上是没有问题的,但不用自己传过来的参数,用COL,ROW是被限制了的,独立性下降了许多,受到到了限制,用自己传过来的参数,是灵活变化的,不是依赖于COL,ROW的
1 | void复制代码{ |
DisplayBoard打印棋盘函数
棋盘设计每个人可能多多少少有点不同,这个就是棋盘界面,没有花里胡哨,只有普通的分割行,数据行
1 | void复制代码{ |
PlayerMove玩家移动函数
玩家移动,为了体现自己的价值,所以先手永远都是给玩家先走,诶我可以给电脑走可是就不给,就是玩。为了方便视觉观察,玩家移动电脑移动都用汉字提示
1 | void复制代码{ |
ComputerMove电脑移动函数
电脑移动,你永远都是后手
1 | void复制代码{ |
IsFull判断棋盘是否下满函数
1 | int复制代码{ |
IsWin判断是否赢函数
判断游戏输赢 返回4种不同的状态: return ‘*‘ 玩家赢 return ‘#’ 电脑赢 return ‘Q’ 平局 return ‘C’ 继续
1 | char复制代码{ |
game.h文件
宏
宏的出现大大加大了代码的可移植性
1 | #define复制代码#define COL 3//列 |
函数申明
1 | void复制代码 |
测试图
瞎选的后果
只要在最后以后选正确,次数充满
下面多条测试
本文转载自: 掘金