条件语句
下一页为 枚举概念详解
条件语句是模块中的一个重要指令
它用于判断事件是否成立,
若成立则输出;
若不成立则跳过。
条件语句将会涉及到
execute
- 条件与变量
- 相对性
testfor
关于枚举多个条件输出
或|| 与 且&&
- 或||
- 且&&
- 或且结合
!非的表达
- !非 单个变量
- !非 多个执行体
条件嵌套
- 条件嵌套相对性
- 条件嵌套与变量
- 子条件detect
全索引链接
§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]
其他同理:
将f的a变量值设成2,
那么检测f的a变量值为2的指令方块就有输出。
/execute @e[name=f,score_a_min=2,score_a=2]
将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格范围内,所以只有两条指令会输出。
- 橙色
我只在三格范围内,只有一次输出
综合相对性来看,枚举是依旧有效的。
其次就是,若条件枚举有重复,也是会多个符合条件的个体一起输出的。
总结来说,条件枚举不仅仅针对于单个条件,而是多个条件一起集合在一起分别执行的,
而且同样能够运用变量和相对性。
若符合其中一个枚举,那么这个个体会输出;
若符合多个枚举,那么这些个体全部都有输出。
附加部分
练习:
- 使用testfor模拟上面的输出(感受testfor和execute的区别);
- 将上面的变量的例子和相对性的例子结合(熟练掌握条件变量+相对性)。