Minecraft(我的世界)中文论坛

标题: [CBL∫2b]指令方块进阶教程——模块 §3 : execute [打印本页]

作者: ⭐✔️    时间: 2015-7-1 20:45
标题: [CBL∫2b]指令方块进阶教程——模块 §3 : execute
本帖最后由 贰逼 于 2015-7-9 13:53 编辑

条件语句
下一页为 格式 与 执行
条件语句是模块中的一个重要指令
它用于判断事件是否成立
若成立则输出;
若不成立则跳过。


条件语句将会涉及到
execute
testfor

关于枚举多个条件输出

或|| 与 且&&
!非的表达
条件嵌套
全索引链接
上一篇((序) 模块概念)--下一篇(testfor

§3.1 execute
下一页为 条件与变量
        3.1.1 指令格式
execute指令作为相对执行指令成为了条件判断中的主要语句,
它的主要格式:


  1. /execute <entity> <x> <y> <z>
  2. <command>
复制代码

以及
  1. /execute <entity> <x> <y> <z> detect
  2. <x> <y> <z> <block> <data>
  3. <command>
复制代码

(detect将在以后讲解)

这里主要条件指令execute格式如下:
  1. /execute 选择器x 相对选择器x坐标 指令
复制代码


        α.1.1 使用指令执行


  1. /execute @p ~ ~ ~ say 1
复制代码




  1. /say 1
复制代码
可以看到两个指令相比有execute相对执行的概念,其效果类似tell指令。


预置:
在本小章讲解之前,预置一个实体进行条件储存


  1. /summon ArmorStand ~ ~ ~
  2. {CustomName:"f",CustomNameVisible:1}
复制代码

这边的主要作用已经在变量与实体中讲解过了


        α.1.1 条件与变量


下一页为 相对性 和 相对性与变量综合


首先需要给变量赋值,来作为一个条件
/scoreboard players set @e[name=f] a 1



如果运行:
  1. /execute @e[name=f,score_a_min=1] ~ ~ ~ say 1
复制代码


那么就会输出
这是因为在选择器中的确有f的a计分板变量>=1




如果运行:
  1. /execute @e[name=f,score_a=0] ~ ~ ~ say 1
复制代码


那么就不会输出
这是因为在选择器中没有f的a计分板变量<=1
f的a计分板变量=1

        α.1.2 相对性
除了能依靠变量执行,还有有关坐标的相对性,
这里主要利用r的选择器分项来展示:


运行:
  1. /execute @e[name=f] ~ ~ ~ say @p[r=1]
复制代码


而玩家不在f周围1格
所以没有输出。



可以看到输出中输出失败。




同样是上面的指令,如果站在f旁边一格就有输出


        α.1.3 相对性与变量综合


运行:
  1. /execute @e[name=f,score_a_min=1] ~ ~ ~ say @p[r=1]
复制代码


还是原来的位置,所以符合了r=1条件
此时f计分板a的变量值为1,符合了score_a_min=1的条件
所以能够输出



假如不符合r条件↑


或者不符合score条件↑
那么就不会有输出








[groupid=546]Command Block Logic[/groupid]
作者: lzs1234    时间: 2015-7-1 20:53
我比较好奇参数c能不能用!非
作者: chyx    时间: 2015-7-1 21:33
本帖最后由 chyx 于 2015-7-6 17:34 编辑
lzs1234 发表于 2015-7-1 20:53
我比较好奇参数c能不能用!非


c表示选择实体的个数 你说说!要是有的话是什么意思。。。
[fly]jj[/fly]
作者: gazlandy    时间: 2015-7-1 23:08
来瞅瞅!!!!
作者: Sad_elevenKH    时间: 2015-7-25 12:16
这章开始有点意思了
作者: 创世神123    时间: 2016-7-1 17:04
话说那个score_a的值是代表比较符号吗?




欢迎光临 Minecraft(我的世界)中文论坛 (https://www.mcbbs.net/) Powered by Discuz! X3.5