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上的代码以供参阅,感谢阅读!