扫雷游戏代码以及感悟(文末有代码)

1.   扫雷游戏分析和设计
1.0   扫雷游戏的功能说明
.使⽤控制台实现经典的扫雷游戏
.游戏可以通过菜单实现继续玩或者退出游戏
.扫雷的棋盘是9*9的格⼦
.默认随机布置10个雷
.可以排查雷
.如果位置不是雷,就显⽰周围有⼏个雷
.如果位置是雷,就炸死游戏结束
.把除10个雷之外的所有⾮雷都找出来,排雷成功,游戏结束

1.1 这里扫雷游戏代码是由三个部分组成(两个源文件和一个头文件)。使用头文件的目的是让代码分区明了,两个源文件一个为游戏内容主体,另一个是游戏的执行与实践。

1.2

如图,game.h(头文件)的作用主要是定义函数以便于源文件的使用

但新手刚开始写这个代码肯定不能一下子把这些全部打出来,按正常思路一步一步来就行。

这里有个技巧------在头文件中把所有#include<>写出来,一劳永逸,接下来的源文件只要包含“game.h“即可。

2. 接下来是正文部分

2.0 首先要实现的是扫雷游戏的模板(建议在定义新函数时不要用一些无意义的字母,而是花点力气用英文来命名,以方便他人及自己的查阅———在写长代码时尤为重要)

需打印的模板分为InitBoard(原模板),DisplayBoard(展示模板)

首先进入text.c打印出游戏的菜单和具体框架,如图

其中一段关于随机数的代码会在game.c中使用到,不必担心

2.1 然后进入game.c

首先插入我们的InitBoard()和DisplayBoard()实现模板的初始化——全部打印为零

这里注意书写时空格和大于小于及等于号的使用,防止打印时范围出错。然后分别在另两个文件内进行声明。

图中定义了一些没有使用的文字,不必在意

进行检验,打印效果应如图所示

2.2模板定义好就可以设置地雷了——即SetMine()

依旧是先在game.c中编写,再在text.c和game.h中声明。这里随机数就派上了用场,随机数取模加一是因为上文我们为了便于查找坐标而又在外围打印了行数和列数。

2.3 最后一步FindMine()查找雷

GetMineCount()实现了查找出一个非雷单位后显示出周围八个的总雷数——因为上文中非雷单位我们定义为零,而雷定义为一,运用ACII码值的知识即可得到此式(或使用for函数也可计算)

这里使用了多次的嵌套,还有”\n”不要忘记书写。

这样扫雷游戏就写完了。C.C./作业

附上我gittee上的代码以供参阅,感谢阅读!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值