本帖最后由 贰逼 于 2015-7-17 12:22 编辑

循环语句
下一页为 循环基础
循环语句也是模块中的一个重要指令
它用于不断执行某些指令,
从而让指令不断输出。


循环语句将会涉及到
基础
  • 与计分板关联

无限循环与while循环
  • 判断条件
  • 终止循环

for循环
  • 判断次数
  • 终止循环

for循环模拟机械赋值
全索引链接
上一篇(循环基础 )--下一篇(for循环)
§4.2 无限循环和While循环
下一页为 判断条件
        4.1.0 用途
  • While
While循环也就是条件循环
它代表若符合条件就一直循环,可以被其他语句操作

  • 无限循环
是While循环的一个分支,
不被其他模块操作从而跳过循环则语句会永久循环下去

在模块中高频若不被打破也是一个无限循环


        4.1.1 判断条件
下一页为 结束循环
实现while循环只需要在循环体语句前面添加一个条件语句
并连接高频。

比如:
若符合条件f的a>=1,
则循环执行虾米那两条指令:
a++;
say 1;

那么可以这样的思路:
a>=1 → a++; say1;



所以得到以下指令:



依照顺序:
  1. /execute @e[name=f,score_a_min=1] ~ ~ ~ scoreboard players add @e[name=f] a 1
  2. /execute @e[name=f,score_a_min=1] ~ ~ ~ /say 1
复制代码


得到的效果如下:





一旦符合条件a>=1后,
不断输出
a++;
say 1
根本停不下来,

由于没有其他模块没有控制循环的指令
所以构成了无限循环。
a的计分板值会一直增加直到溢出为止。

在模块的while循环中,所以指令最后的输出都是循环体


标准格式:
/execute 条件 输出1
/execute 条件 输出2

/execute 条件 输出n





        4.1.2 终止循环
终止循环在其他模块中,
而终止循环十分简单,只需要让条件不符合条件语句
这样while循环得到的值是false,所以会停止:



/scoreboard players reset @e[name=f] a
后,就能迅速停止循环
(用聊天框输入指令模拟其他模块)


[groupid=546]Command Block Logic[/groupid]