《我的世界》扫雷制作图文教程 扫雷怎么制作
二、开工
那么现在我们可以开工了。由于我们选择的是展示框显示屏,所以我们只能通过高频检测的情况来进行正常游戏。
这里我将我的电路截图进行说明,有图为证,整个扫雷的电路的确是模块化的产品:
制作开始。
这里是将地图进行预加载的地方,然而由于失误,我漏掉了没有雷的格子。
注:文中指令方块部分使用了绝对坐标,具体制作中请参考具体地图位置。
开局
这是我的棋局的剖面图,这里我的开局使用的是石质按钮开局,原因是我不希望高频一直启动着,这里选择用按钮是在效果和性能之间的折中选择。
每个按钮都可以激活前两层的命令方块,共计六个,第一层可以放置互相干扰也没问题的命令方块第一层的指令为:
setblock 16 3 -15 redstone_block
该指令的作用为开启生成棋局的命令方块阵列第二层的指令为:
setblock ~ ~ ~2 air
该指令的作用为对这个格子进行一个标记,使生成雷局的时候不会在这个格子生成雷(其实这种处理方式没必要这么麻烦,然而我懒的找按下的按钮的数据值)。
开局模块:
其中中继器末尾就是上文红石块的放置位置,再配合这个命令就可以输出一个脉冲:
setblock ~ ~-1 ~ air
另外一个命令方块是上文标记系统的第二部分,指令如下:
/execute @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] ~ ~ ~ detect ~ ~ ~ air 0 /scoreboard players set @e[c=1,type=ItemFrame] kill 1
这条指令的作用是给棋局内部按钮被消去的格子里的展示框的kill计分板分数+1。
中继器之后接的命令是如下几条:
这条指令没什么必要,提供一个按下的格子变成禁止符号的标记,纯粹的视觉效果:
entitydata @e[score_kill=1,score_kill_min=1] {Item:{id:"minecraft:barrier",Count:1b,Damage:0s}}
这条指令是用来清除所有的石质按钮。因为石质按钮只是在开局时使用的。
fill 19 17 23 27 25 23 air 0
这条指令为激活左边的命令阵列
setblock ~ ~1 ~1 redstone_block
该阵列由复制十次的模块组成
模块讲解:
每个模块都有
setblock~ ~-1 ~ air
和
setblock ~ ~1 ~1 redstone_block
两条指令,这两条指令的作用就是复位本个模块并往下一个模块输出信号。
每个模块又包含生成雷局的核心指令:
scoreboard players set @r[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_kill_min=0,score_kill=0,score_high=0,score_high_min=0] high 1
@r自带随机功能,而选择器内选择kill分数为0而且high分数也为0的展示框,使其high计分板的分数为1(high计分板就是标记这个格子是否有雷的计分板)。
其作用翻译成人话就是:除去刚按下的那个,然后随便找一个没标记的展示框标记一下。
这条指令会被激活十次,所以雷局里会有十个雷。
命令阵列执行到最后,会往远处那个中继器里输出信号,
后面接着的五个命令方块是用来给每个格子写入数字,即我们在玩扫雷时看到的数字,指令如下:
execute @e[type=ItemFrame,score_high=1,score_high_min=1] ~ ~ ~ /scoreboard players remove @e[r=1,type=ItemFrame] mine 1
execute @e[type=ItemFrame,score_high=1,score_high_min=1] ~ ~ ~ /scoreboard players add @e[dx=1,dy=1,type=ItemFrame] mine 1
execute @e[type=ItemFrame,score_high=1,score_high_min=1] ~ ~ ~ /scoreboard players add @e[dx=1,dy=-1,type=ItemFrame] mine 1
execute @e[type=ItemFrame,score_high=1,score_high_min=1] ~ ~ ~ /scoreboard players add @e[dx=-1,dy=1,type=ItemFrame] mine 1
execute @e[type=ItemFrame,score_high=1,score_high_min=1] ~ ~ ~ /scoreboard players add @e[dx=-1,dy=-1,type=ItemFrame] mine 1
非常相似的指令,总的来说就是给每个雷周围8个展示框里的数字+1。
最后一条指令,开启“游戏中”模块:
setblock -3 4 -15 redstone_block
相关内容请关注:我的世界专区