本期来写一篇关于数组和函数实践的扫雷游戏
一、扫雷游戏项目的功能说明。
1、通过控制台来实现经典的扫雷游戏
2、游戏可以通过菜单开始或结束游戏
3、棋盘布置为最简单的9*9
4、默认随机布置10个雷
5、能够排查雷 如果不是雷,可以显示周围雷的个数。如果是雷则炸死结束游戏。
把除10个雷之外其余的全部都找到,则游戏胜利。
二、游戏的分析与设计。
首先我们要设置一个菜单来保证游戏的进行与结束
这个菜单可以是多样的,大家都可以自行设计,这是我设计的一个例子:
通过这一个菜单可以说明输入1进行游戏,输入0结束游戏。
下面这是主函数的程序内容:
可以看到我们利用while语句进行了多组输入,并且利用了case语句对输入的情况进行了分类。
这是我们在程序设计中的菜单内容。
菜单设计完成之后,我们就要进行游戏的设计了。
首先咱们这是一个9*9的棋盘。那么怎样来设计这样一个棋盘呢?
对于这一个棋盘我们可以用一个二维数组来表示,分别代表他们的横纵坐标,这样的话,我们在排雷的时候就更加便捷了。
另外怎样来表示是雷或不是雷呢?
我们可以用字符‘1’来表示雷,用字符‘0’来表示非雷。
此外我们还需要两个二维数组,为什么要两个呢?因为在排查雷的过程中,在该坐标周围的雷可能是一个,那么我们就需要在此处标记一个1,这跟我们在数组中布置的相互冲突了。
这就需要我们用两个数组,一个记录原始的数据,一个用来排查雷。这样就可以了。
例如:
此外,如果输入的坐标不是雷,那么我们就需要排查该坐标周围雷的数量,对于基本的坐标来说,它的周围有9个雷,但对于角落的或者其他特殊的坐标来说,这可不是九个了。
这该怎么办呢?
这就需要我们在9*9格式的基础上改为11*11的格式,有了这样一个统一的规律,这样就能够保证代码较好的书写了。
思路有了,我们怎样用代码实现呢?
三、扫雷代码的实现。
这时我们就需要结合函数和数组来进行了。
首先我们需要在VS中创建三个文件game.h(用来进行函数的声明)game.c(用来写函数)test.c(用来写主函数)这样我们在写代码的时候条理就清晰很多了。
game.h
game.c
test.c
有需要原码的小伙伴可以去我的gitee仓库,自取。
水平有限仅供参考,喜欢的话可以点点赞,点点关注,如有错误请及时批评指正。