游民星空 > 攻略秘籍 > 攻略 > 正文

《我的世界》扫雷制作图文教程 扫雷怎么制作

2015-05-08 17:46:21 来源:我的世界中文论坛 作者:乙烯_中国 我要投稿

第3页:建造过程-游戏中

展开

游戏中

  指针所指之处为fill高频。上面的红石块将放置在此处。

游民星空

  由于该模块的核心为fill高频。所以电路结构非常简单,就是很多命令方块围着一根红石块棒子,我就不上截图了。

  然而其中的时序是非常严谨的。由于fill高频是有一个更新顺序,这个顺序是由坐标决定,站里也有人研究,因此在这里不详细说明了。

  下面我将按照时序介绍指令而不是逻辑顺序。

  ①这个命令是将所有问号格子的旗帜标记取消。即取消标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] flag 0 {ItemRotation:0b,Item:{id:"minecraft:filled_map",Count:1b,Damage:106s}}

  ②高频产生:

  fill ~-1 ~-1 ~ ~15 ~-1 ~ redstone_block

  fill ~-1 ~1 ~ ~15 ~1 ~ air

  给予所有的格子左键标志:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] l 1

  将所有被旋转过一次的未翻开格子给予右键标志:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark=0,score_mark_min=0] r 1 {ItemRotation:1b,Item:{id:"minecraft:filled_map",Count:1b,Damage:1s}}

  ③将上方状态栏的展示框拨正:

  entitydata @e[18,27,22,dx=10,dy=3,dz=1] {ItemRotation:0b}

  取消所有未旋转的展示框的右键标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark=0,score_mark_min=0] r 0 {ItemRotation:0b}

  取消所有有装地图的展示框的左键标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] l 0 {Item:{id:"minecraft:filled_map"}}

  将所有被插旗的格子的内容变为旗帜:

  entitydata @e[type=ItemFrame,score_flag=1,score_flag_min=1] {Item:{id:"minecraft:filled_map",Count:1b,Damage:105s}}

  此四条不重时序,将空白格子的周围格子翻开:

  execute @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark_min=2,score_mark=2] ~ ~ ~ scoreboard players set @e[dx=1,dy=1,dz=1,type=ItemFrame,score_flag=0,score_flag_min=0,score_high=0,score_high_min=0] l 1 {Item:{id:"minecraft:filled_map",Count:1b,Damage:1s}}

  execute @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark_min=2,score_mark=2] ~ ~ ~ /scoreboard players set @e[dx=1,dy=-1,dz=1,type=ItemFrame,score_flag=0,score_flag_min=0,score_high=0,score_high_min=0] l 1 {Item:{id:"minecraft:filled_map",Count:1b,Damage:1s}}

  execute @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark_min=2,score_mark=2] ~ ~ ~ /scoreboard players set @e[dx=-1,dy=1,dz=1,type=ItemFrame,score_flag=0,score_flag_min=0,score_high=0,score_high_min=0] l 1 {Item:{id:"minecraft:filled_map",Count:1b,Damage:1s}}

  execute @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark_min=2,score_mark=2] ~ ~ ~ /scoreboard players set @e[dx=-1,dy=-1,dz=1,type=ItemFrame,score_flag=0,score_flag_min=0,score_high=0,score_high_min=0] l 1 {Item:{id:"minecraft:filled_map",Count:1b,Damage:1s}}

  将所有被旋转的旗帜格子进行右键标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark=0,score_mark_min=0] r 2 {ItemRotation:1b,Item:{id:"minecraft:filled_map",Count:1b,Damage:105s}}

  探测是否有被踩中的雷(此条接比较器,往失败模块输出):

  testfor @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_high_min=1,score_high=1] {Item:{id:"minecraft:filled_map",Count:1b,Damage:108s}}

  ④将所有旗帜格子进行旗帜标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] flag 1 {ItemRotation:0b,Item:{id:"minecraft:filled_map",Count:1b,Damage:105s}}

  将所有被标记的格子的数字调整到非法值:

  scoreboard players set @r[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_high=1,score_high_min=1] mine 9

  将旋转的问号格子进行右键标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_mark=0,score_mark_min=0] r 3 {ItemRotation:1b,Item:{id:"minecraft:filled_map",Count:1b,Damage:106s}}

  ⑤将所有没有方块依附的展示框后方放上方块:

  /execute @e[type=ItemFrame] ~ ~ ~ detect ~ ~ ~-1 air 0 setblock ~ ~ ~-1 command_block 0 keep {Command:"setblock 16 3 -15 redstone_block"}

  将所有拥有右键标记的空白格子内容变为旗帜:

  entitydata @e[score_r=1,score_r_min=1,type=ItemFrame] {ItemRotation:0,Item:{id:"filled_map",Damage:105}}

  将所有拥有右键标记的旗帜格子内容变为问号:

  entitydata @e[score_r=2,score_r_min=2,type=ItemFrame] {ItemRotation:0,Item:{id:"filled_map",Damage:106}}

  将所有拥有右键标记的问号格子内容变为空白(这里之所以格式不同是因为留个中键的接口):

  execute @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_r=3,score_r_min=3] ~ ~ ~ setblock ~ ~ ~-4 redstone_block

  胜利检测,当空白格子、问号格子和旗帜格子之和为10时游戏胜利(输出接胜利模块):

  testfor @a[score_s=10,score_s_min=10]

  旗帜数目检测(输出接旗帜统计):

  testfor @e[score_flag=1,score_flag_min=1,type=ItemFrame]

  将所有被踩中的雷进行标记:

  scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame,score_high_min=1,score_l_min=1,score_l=1] mark2 1

  翻开被踩中的空白格子(其余数字也有各自的指令,暂不详述):

  entitydata @e[type=ItemFrame,score_l=1,score_l_min=1,score_mine=0,score_mine_min=0] {ItemRotation:0b,Item:{id:"filled_map",Damage:104}}

  对满足胜利条件的格子进行标记:

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] mark 3 {Item:{id:"minecraft:filled_map",Count:1b,Damage:105s}}

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] mark 5 {Item:{id:"minecraft:filled_map",Count:1b,Damage:106s}}

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] mark 4 {Item:{id:"minecraft:filled_map",Count:1b,Damage:1s}}

  ⑥探测满足胜利条件的格子

  testfor @e[score_mark=5,score_mark_min=3,type=ItemFrame]

  ⑦重置所有的标记

  /scoreboard players set @e[19,17,22,dx=9,dy=9,dz=1,type=ItemFrame] mark 0

  好的…实际上到这里,整个扫雷的主体已经完工,接下来就是一些非常简单的玩意儿。

更多相关内容请关注:我的世界专区

责任编辑:Shy夏夏

上一页 1 2 3 4 5 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

游民星空APP
随手浏览游戏攻略
code
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏