- 与计分板关联
- 判断条件
- 终止循环
- 判断次数
- 终止循环
§4.2 for循环模拟机械赋值
大家都应该是知道Minecraft中某些参数不能使用计分板进行赋值。
但是由于for将计分板值转化成了执行次数,所以对于某些执行参数可以使用for进行机械赋值(一般用实体中介给坐标赋值)。
例如给f的a设置计分板变量,
而f的坐标处相对向上放置a个红色羊毛。
你也许可以想到:
/execute @e[name=f] ~ ~ ~ fill ~ ~ ~ ~ ~a ~ wool 14
然而MC不能进行坐标的赋值。
因此可以转化为for:
a>=1 →
/tp @e[name=f] ~ ~1 ~
/execute @e[name=f] ~ ~ ~ setblock ~ ~ ~ wool 14
a--
↗
指令如下:
按照顺序执行:
- /execute @e[name=f,score_a_min=1] ~ ~ ~ setblock ~ ~ ~ wool 14
- /execute @e[name=f,score_a_min=1] ~ ~ ~ tp @e[name=f] ~ ~1 ~
- /scoreboard players remove @e[name=f,score_a_min=1] a 1
效果:
分析:
执行次数就是a的分数,
让a的分数通过递减来转换成循环的次数,
同时执行指令操作,
完成机械赋值。
标准赋值格式:
/execute <=1 赋值输出1
/execute <=1 赋值输出2
┊
/execute <=1 赋值输出n
*赋值输出
赋值关键指令(例如tp)
*增加分数/停止循环
/scoreboard players add @e[实体选择,score_计分板=指定分数] 计分板 1
↗
*循环次数是 分数 次
[groupid=546]Command Block Logic[/groupid]