【c语言制作小游戏】三子棋

目录

1. 三子棋

1.1 模块介绍

1.2 游戏框架

​编辑

1.3 三子棋棋盘逻辑

1.3.1 游戏框架

1.3.2 棋盘的初始化

1.3.3 打印棋盘布局

1.3.4 玩家下棋阶段

1.3.5 电脑下棋


1. 三子棋

1.1 模块介绍

test.c  :测试游戏的逻辑

game.h : 关于游戏相关的函数声明、符号声明、头文件的包含

game.c : 游戏相关函数的实现

1.2 游戏框架

        使用do while循环语句,就可以实现一开始就执行程序而后再进行判断,符合游戏实际需求;同时使用switch语句根据键入的值判断需要进行的下一步。

1.3 三子棋棋盘逻辑

1.3.1 游戏框架

       首先创建 game() 函数,函数中搭建三子棋中所需要的整个逻辑。

注:定义宏时,后面不用加;而且顺序应该要与变量处保持一致

1.3.2 棋盘的初始化

        所谓棋盘实际上就是一个初始化后的 n*n 二维数组,由于用字符 '#'  '*' 来代表棋子,所以数组的类型应为char型。此外,为了不仅仅局限于定值大小的棋盘,还需要定义宏来方便修改棋盘大小。

声明放在头文件 game.h 

实现放在game.c(使用时要包含game.h )

1.3.3 打印棋盘布局

        打印棋盘时,应该以最小单元为单位来打印,如果按整行整列打印会导致更换ROW 和COL后打印的棋盘不正确,所以我们要找一种更为通用的办法。

这里我们以 “    | ” 和 “ ---| ”为最小单元,这样子就可以更方便打印不同大小的棋盘。

game.h:

 game.c:

至此,运行检查一下结果: 

逻辑正确,检查无误后进行下一环节: 

1.3.4 玩家下棋

       重点在于考虑玩家下棋的坐标是否合法?坐标处是否已经有棋子?此外,当玩家走完一棋后,应立马break掉循环,并且再打印一次棋盘 进行下一步【机器人下棋】

game.h:

game.c: 

细节详见注释部分 

至此,运行检查一下结果: 

逻辑正确,检查无误后进行下一环节: 

1.3.5 电脑下棋

       此游戏电脑下棋用的是随机值,随机值的生成要用rand( ) 函数来实现,而想要获得合适的随机数还需要借助srand( ),设置随机数的生成起点。

srand((unsigned int)time(NULL));
int x = rand();

        要注意的是随机数的起点只需要设置一次,所以要将srand()放在【电脑下棋】外,这里为了方便放在了test.c 主函数内。 

其余部分和【玩家下棋】区别不大,注意注释部分:

game.h:

game.c:

至此,运行检查一下结果:

逻辑正确,检查无误后进行下一环节: 

1.3.6 判输赢

       在电脑或者玩家下完棋后除了打印一次棋盘外,应该再判断 ①玩家是不是赢了,②电脑是不是赢了,③棋盘满了。除此之外,游戏继续

test.c: 

 game.c:

判断三行:

 判断三列:

 判断对角线:

判断平局:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值