扫雷小游戏
经典游戏扫雷,在学习C语言基础后,今天试着用C语言去实现这个经典小游戏。
1.游戏介绍
扫雷想必大家都不陌生,但是,是不是还有很多人不知道怎么扫雷呢?是不是一点就踩雷被呢?别看了,说的就是你!那么,下面就给大家介绍一下这个游戏的玩法。
注意:(改图截自扫雷游戏网页版)
图例:
左上角的数字 10–表示雷的个数(此时为8由于我已经手动标了两处旗,表明我已经排除两个雷了)
右上角的数字目前为 002–表示的是排查出雷的个数(图中的两个小旗)
游戏规则: 我们看序号 1 ,以我们画圈的哪个数字 1为中心画一个九宫格,此时九宫格内只有一个方块,而我们这个中心数字又 是 1,表明以这个数字为中心的九宫格内的八个方块里有一个雷,并且,此时这个九宫格内只有一个方块还没有点开, 其他地方都点开了并且显示了数字说明不是雷,因此这一个方块里一定是雷,我们插上小旗表明已经排除此处是雷。 我们再来看序号 2,同样以我们画圈的那个数字 1 为中心画一个九宫格,但由于九宫格最底下那一行已经超出了游戏 范围,因此在边界线上的数字为中心画九宫格只需要考虑九宫格边界线以内的情况就可以。同理,此时中心数字是 1 表明现在这个九宫格内的八个方块有一个一定是雷,由于只有一个方块没有排除,其他均已排除并显示数字表明不是 雷,只有这最有一个方块没排除,因此一定是雷。 最后,如果中心数字是 2 哪以中心数字 2 为九宫格内的八个方块内一定有两个雷,其他数字同理。 现在,应该没有人不会了吧。
2.扫雷代码逻辑
1.创建数组
由上面玩游戏的过程可以体会到,我们需要两个二维素组来分别存放雷和 展示雷
2.初始化素组
我们看到,一开始点开这个游戏界面的时候,只有小方块,因此我们也需 要将它进行一个初始化
3.展示(打印)数组
存放好后的信息都已经放在了数组里,玩家进行游戏时,需要根据我们展示的信息来 完成扫雷,因此我们需要将这个数组打印出来给玩家观察
4.设置雷(埋雷)
在进行扫雷之前,需要规定多大的棋盘里一共需要埋下多少颗雷来让玩家进行扫雷
5.扫雷
当上述准备过程都已经完成后,那接下来就是扫雷的过程啦,根据我们的玩法规则,结 合展示的信息完成扫雷
6.展开该坐标周围没有雷的全部方块
扫雷展开过程 效果展示
(该视频录制扫雷网页版)
下面我们一起来观察一下这个展开效果。视频中可以观察到,前几次我点开的每一个方 块都只有这一个方块没了并且显示了数字,根据我们的规则,以这个数字为中心的九宫 格是有该数字个雷的,因此他的周围没有展开 我的最后一步,点开了右下角的一个方块,一下子周围很多方块都消失了,这就是展开 的效果,根据规则我们可以知道,展开是需要一定前提的: 1.这个坐标本身不是雷 2.这个坐标九宫格内的其他坐标不能是雷
7. 判断输赢
到最后,如果玩家找到了所有的雷,那么意味着排雷成功,若是中途触雷,则直接判定失败