用C语言实现简单版的《扫雷游戏》

0.前言:

实现的只是非常简单的一个扫雷游戏,没有过多的功能,后续会加,分享出来也是想大家能提供一些思路,下面我会介绍大概怎么写扫雷的一个过程,还有整体思路。

1.扫雷游戏的框架:

        菜单—>棋盘的存储—>初始化棋盘—>打印棋盘—>设置雷(一局游戏只有设置一次)—>排查雷。

        注意:下面代码中的宏定义:

2.菜单:

        写一个菜单其实很简单,没有那么复杂,首先游戏上来会先给出菜单,然后在判断是否进行游戏,也就是是否执行游戏逻辑的循环,因为你不可能一次就玩通关了,而且也不确定你多少次能结束循环,也就是通关,所以这里可以用C语言里的do while语句加上switchu语句把基本菜单框架搭出来。

        下面给出代码示例:

        菜单函数:

        效果演示:

3.棋盘的存储:

        想要数据在,那就要把数据存储起来,这里我们用二维数组来存储,而且游戏逻辑写在一起很难维护,所以我们封装一个game()函数把要写的功能放里面。

        代码示例:

        创建两个二维数组是为了方便计算,增加一些效率。一个是用来显示给用户看的,另一个是来存放炸弹的。

        为什么创建11*11的二维数组,因为当后面要排查雷的时候会计算雷的个数,以自身为中心九宫格计算多少个雷(1),这样的话如果是9*9那么在(1,1)坐标计算雷的时候会造成数组越界。

        下图示例:

4.初始化棋盘:

        有了棋盘后我们要把显示的棋盘给用户看,所以我这里一开始初始化全用的是《*》,而放雷的棋盘初始化给的是《0》我这里用1代表雷0代表没有雷。初始化棋盘也可以封装成一个函数。

        代码示例:

5.打印棋盘:

        打印棋盘只需要打印显示的数组就行,而且只需要打印9*9出来就可以。

        代码示例:

        效果演示:

6.设置雷:

        因为第一次排查雷的时候不能有雷,所以在设置雷的时候,是先排查一次雷之后设置一次雷就行。

        代码示例:

        效果演示:

7.排查雷:

        首先排查雷要确保你输入的排查坐标是正确的,其次在正确的情况下看是否是排查过的,最后在统计周围雷的个数,还要确保派第一次雷的时候没有炸弹。

        代码示例:

        效果演示:

        这里我因为测试代码是否能运行所以我把棋盘设置成了3*3,雷设置成了一个,而且还开了全图,只是为了看效果。

      

8.结语:

        这样就可以实现一个简单的C语言扫雷游戏,非常的基础,还有好多功能没实现,比如这个只能一个一个去找,还没有实现一片展开的功能,之后会完善的,希望基本的思路能帮到你,谢谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aang丶江辞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值