
这就是全部的电路大小

由于懒得改材质了,数字就用不同颜色的羊毛代替,从右到左是1-8,红石块是雷
名为1的蛋是相当于扫雷里的左键,2的蛋想到于扫雷里的右键
原理简析:

我的原理和老外的原理最大的不同就是,他的是用方块,我的使用实体,没一个方块吓都有一个ArmorStand,每一个都记为一个单位
下面开始讲解原理:
1、雷的生成
/spreadplayers+相对坐标
2、雷数
根据原版扫雷规则,一个方块为中心的3x3的范围内的雷总数是这个方块的雷数,那么我们不可能以每个方块检测
方法是什么呢?就是反向检测
假设在坐标系上存在两个半径相同的圆,那么如果圆A的圆心在圆B中,圆B的圆心肯定就会在圆A中
同理,3x3的范围,相当于半径为根号2的圆所能扫到的范围,那么雷所能检测到的方块必然能检测到雷
3、空挡生成


原版扫雷还有一个规则,当你点开一个空白的时候,它会自动显示周围的空白
这个其实很好联想,我们可以用一个游戏:Pop Star(消灭星星)作为例子
Pop Star里同种颜色的方块可以互相消去,那么我们可以理解为“互相链接的同种方块消去”
那么链接的概念是什么呢?
由于方块只有四个边,所以对于方块而言,链接就是有一边重合
mc中,对于一个方块,与它链接的方块就能为r=1扫到(这里”方块“都是”ArmorStand“)
那么只要以所有显示的空白给四周的方块显示就行了
而至于老外的那个扫雷,思路和我的是相同的,只不过他用了fill replace,所以生成会更方便,而且实体多还会卡
@乙烯_中国
[groupid=546]Command Block Logic[/groupid]
-
2015-02-13_11.58.05.png (100.34 KB, 下载次数: 11)
-
-
286.21 KB, 下载次数: 28