§3.3 枚举与多个条件输出
下一页为 枚举详解
3.3.1 基本概念
对于多个条件我们只能枚举条件,并对于这些枚举的条件分别输出:
如果:条件1 → 输出:指令1
如果:条件2 → 输出:指令2
┊
如果:条件n → 输出:指令n
如果写成指令就是:
/execute 条件1 相对坐标 指令1
/execute 条件2 相对坐标 指令2
┊
/execute 条件n 相对坐标 指令n
3.3.2 条件结合变量
使用
execute中的预设。
使用以下指令:
/execute @e[name=f,score_a_min=1,score_a=1]
/execute @e[name=f,score_a_min=2,score_a=2]
/execute @e[name=f,score_a_min=3,score_a=3]
也就是说枚举:
对于a的变量值分别为1,2,3的f执行
/scoreboard players set @e[name=f] a 1 将f的a变量值设成1,
那么检测f的a变量值为1的指令方块就有输出。
/execute @e[name=f,score_a_min=1,score_a=1]
其他同理:
/scoreboard players set @e[name=f] a 2
将f的a变量值设成2,
那么检测f的a变量值为2的指令方块就有输出。
/execute @e[name=f,score_a_min=2,score_a=2]
/scoreboard players set @e[name=f] a 3
将f的a变量值设成3,
那么检测f的a变量值为3的指令方块就有输出。
/execute @e[name=f,score_a_min=3,score_a=3]
综合以上例子,多个条件的变量进行枚举,可以得到个体分别的输出。
3.3.3 条件结合相对性(多个输出)

按照以上指令:
/execute @e[name=f] ~ ~ ~ say @p[r=1]
/execute @e[name=f] ~ ~ ~ say @p[r=2]
/execute @e[name=f] ~ ~ ~ say @p[r=3]
相对于f分别说出在他周围1格,2格,3格的玩家名字。
绿色表示1格,
蓝色表示2格,
橙色表示3格。

由于我在3格范围内,又在2格范围内,还在1格范围内,所以三条指令都会输出。

由于我在3格范围内,又在2格范围内,但在在1格范围内,所以只有两条指令会输出。

我只在三格范围内,只有一次输出
综合相对性来看,枚举是依旧有效的。
其次就是,若条件枚举有重复,也是会多个符合条件的个体一起输出的。
总结来说,条件枚举不仅仅针对于单个条件,而是多个条件一起集合在一起分别执行的,
而且同样能够运用变量和相对性。
若符合其中一个枚举,那么这个个体会输出;
若符合多个枚举,那么这些个体全部都有输出。
附加部分
练习:
[groupid=546]Command Block Logic[/groupid]