加载中...

多图警告⚠,然后没有代码,这期主要说原理

各位早上中午下午傍晚晚上半夜凌晨好啊,我自从开设这个网站以来,都还没敲过代码,那我今天就试一下能不能写出一篇雅俗共赏(草)的文章。
好了废话说多点,这样*(@¥&(#&……¥(3


来♂骚♂雷

要想了解扫雷,先要把游戏规则搞懂先(其实大部分人都会的,但是为了凑字#……&¥*#&4678#……&%)

游戏规则

这是一个16x30的“雷区”,当它创建的时候,所有的都是没有点开的,现在,点开其中一个格子,出现了许多的数字,这些数字就是提示你周围的雷数
嗯嗯
下面,我将详细介绍数字的意义,以这一块区域为例

注意,已经探索过的格子是浅色的(包括那些数字所在的),这意味着不会有任何的雷在里面,故可以忽略不看

嗯嗯
最中心的1代表周围的8个方块中,有其中1个是雷;
如果是2,那就是周围的8个方块中,有其中2个是雷,以此类推
再回到这张图,周围的方块已被圈起来,那么看,其中有7个方块是已被探索过的,只剩下一个
又根据数字1,可以得出剩下的一定是雷,所以我们把它做上记号(为了我截图方便,就没插旗子)

注意:对于边界来说,数字虽然也是周围8个方块,但是你去扫雷时不需要考虑超出边界的方块,这也意味着最大的数字不会超过5

嗯嗯
现在,把范围扩大

嗯嗯

可以看到,第三行这个1(从上往下数)周围有一个已经是雷了,根据数1,判断出除了那个已经被标记为雷的,其余均不是雷
所以大胆点开就对了😎

嗯嗯
接下来看上面,这个2如何解?有3个未知
其实没必要看2,看下旁边的1,周围都是已被探索的,只剩下一个,所以那个是雷
这样,刚刚好,那个雷就是在数字2周围8方块内,结合第一次判断出来的雷,总共一定是2
这就通过转移的方法解决了2的问题

所以,转换思想在扫雷里是非常重要的,建议开始就先从1开始扫起,从小到大,如果没有1,建议找未知的方块与数字相接近的方块
但是,在一些刁钻的角度里边,部分的方块是需要蒙的,例如一堆雷里边有一个方块
如果这个方块没被打开,是不会判断赢的

恭喜!你差不多了解了扫雷游戏的规则,然后,我们了解下他的工作原理吧

游戏工作原理

开局

开局(新建游戏)是不会生成任何雷的,因为要避免这一种情况……

出师未捷身先死

如果你第一次点击就被雷搞死了,那确实没有任何游戏体验
不过喜欢没有游戏体验的同学可以选择这么做
所以,只有在你第一次点击时,才会开始尝试生成雷

但是有人要问了:为啥自定义9x9地图的时候雷数只能最高67不能81?
嗯嗯
这是因为:

在第一次点击的时候,需要创建一个以自己为中心的3x3区域来得到“无敌”效果

就像这样:
嗯嗯
这时又有人说了:你这81-9也才72,67哪来的??
嗯嗯
就是这么来的:72-67=5
除了3x3的区域,仍然会有这种未被探索的安全方块

我目前还是没有弄清楚自定义雷数与地图大小的关系,如果知道的,可以去bilibili私信轰炸我
🔗:https://space.bilibili.com/313758599

所以由于这个恶心人的问题,咱们先不谈自定义的雷数,先从9x9的地图开始

游戏过程

当你点击一个数字为“0”的方块时(一般不会显示数字),周围8个都会开启,因为代表的意义就是周围8个都不是雷
如果周围又有一个是“0”的方块时,那么它又会将它周围8个方块开启,一次循环下去,直到没有“0”方块时(就是周围都是有数字时)
就像一开始这个图一样:
嗯嗯

在侦测“0”方块时,边界不考虑在内,如果一个“0”方块在边界附近,那么边界外的方块是不会在侦测范围内的

当你第一次按下去时,其实已经布雷了,这也意味着你第二步就会死,所以……
嗯嗯
对于布雷的机制,随机而已,下一张就会讲到,大概也非常简单

判断胜利

扫雷胜利条件很简单:
只要打开所有不是雷的方块,即可获胜,如下图
嗯嗯
或者

嗯嗯
但如果你虽然知道这里有雷,但是周围的方块没有被打开,是无法获胜的,如图

只差一点点~

死亡

顾名思义,踩到了雷就会死,当然下文的一些操作也可以让你不踩到雷就死
嗯嗯
还是这张图,可以看到:
玩家死后所有的雷都会出来,同时标错的旗子(下文有介绍)也会指出来
嗯嗯


游戏操作

左键

没啥好说的,左键就是开雷,至于说点击之后的反应,那就看上文:游戏过程

右键

第一次按下会产生一个小旗子(🚩)第二次按下会将🚩变成❓

旗子

无法再次被左键打开
标记工具,这样你可以清晰地看清哪里有雷(标错了也有可能),如果标错,就会在死亡时提示你这个🚩标错了
如果你的旗子都刚刚好插正确了,但是超出了雷数,那也不会胜利,因为仍然有一个不是雷,如图
嗯嗯

问号

无法再次被左键打开
同样是标记工具,但是不能作为是不是雷的标准(意思就是标问号不会影响剩余雷数的计算),因为它是给你在去开其他雷时提示你这里还没有做出选择
如图
嗯嗯

左右键同时按

这是个很神奇的按键,它可以快速帮你打开周围的方块,但是代价还挺大
嗯嗯
上图就是利用旗子和该按键组合完成的

插的旗子数必须满足点击数字的数

如果没有满足,那么点击是无用的

问号标识可以被该按键打开

这意味着如果你的旗子插错了,那你就会死亡

不考虑周围8个是否有雷

只考虑周围除了旗子都打开,所以说有时你没有点雷,但是却死亡了,就是这个原因

嗯嗯
上图就把该按键的一些特性体现出来了

总结

如果你善于使用一些简便按键,那么你的速度将会大大提升,如下图
嗯嗯

那么,这一期就结束了,写了2天,太多图了,做了很多实验,下一期!开始写代码!🤮

avatar
Virtual_NeutroN
“Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do.So throw off the bowlines.Sail away from the safe harbor.Catch the trade winds in your sails.Explore.Dream.Discover.” —Mark Twain
Follow Me
公告
兄弟们,网站还在建设(建了两年还在建设的屑),大家有什么意见或建议,欢迎前往 https://space.bilibili.com/313758599/ 私信轰炸我
网站资讯
文章数目 :
8
已运行时间 :
本站总字数 :
3.9k
本站访客数 :
本站总访问量 :
最后更新时间 :