C语言扫雷游戏代码及实现

要想实现扫雷游戏的实现,首先我们要理解它的逻辑:

当我们要进行扫雷,首先我们要有一块雷区。

我们初步定义这块雷区大小为9x9.

接下来,我们随机向里面放置10个雷:

现在,我们有了棋盘,布置了雷,可以进行排雷了。

那么对于我们排雷有两种情况:

1.我们排到0,即无雷区,便展示周围雷的个数;

2.我们排到1,即有雷区

对于第二种情况,我们踩雷了,即结束游戏。

那么来看第一种情况:这时我们将周围雷的个数打印出来。

比如第一次我们选择坐标(3,4):

从图上我们可以看出在坐标(3,4)的周围只有一个雷,这时候我们在棋盘上打印1。

如何计算周围雷的个数?

当我们要计算(6,3)——第六列第三行这个区域周围雷的信息,最简单的方式就是将周围的数值加起来并且输出,即(5,2)+(6,2)+(7,2)+(5,3)+(7,3)+(5,4)+(6,4)+(7,4)=3;

但这时,这个3就占据了原先0的位置,产生混淆。于是我们需要一个新的棋盘——一个专门显示信息给玩家看的棋盘。


这样完成了我们排雷的基本逻辑。

但是,一个很关键的地方:

在边角我们怎么去计算周围雷的个数呢?

为了方便计算,并且避免溢出,这时候我们就需要两个11x11的棋盘。

(为了方便以及游戏体验,我们将展示图的每个区域放上星号)

大概游戏思路我们已经完成,那么如何用程序实现它呢?

  1. 创建雷区和展示区

我们可以建立两个11x11大小的数组(为了与星号统一格式,0、1都用字符形式)

这里的Rows和Cols大小都为11:


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值