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

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


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

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

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

for循环模拟机械赋值
全索引链接
上一篇(无限循环与while循环 )--下一篇(for循环模拟机械赋值)


§4.2 for循环
下一页为 判断次数
        4.2.0 用途
for循环是一种重要循环,是次数循环
它是依照while循环延伸而得来的。

for语句事实就是while循环体中提供条件操作
所以for语句依照的条件是条件变量

for语句十分灵活,支持跳出、提前结束、跳过次数、嵌套等等。

        4.2.1 判断次数
实现for循环需要在while语句中增加循环体对循环的操作

比如:
执行8次say @p

那么可以这样的思路:
a<=8 → say @p; a++;


可以得到以下指令




按照顺序执行:
  1. /execute @e[name=f,score_a=8] ~ ~ ~ say @p
  2. /scoreboard players add @e[name=f,score_a=8] a 1
复制代码


如果初始值为0:



那么执行9次,
因为是<=8,而0也算是一次,所以共9次。

如果初始值为1:



1算一次,到8正好是8次。

解析:
通过设定初始值,再不断增加分数
而for延用while中的条件循环,
条件为一个范围,因此到了指定分数就会停止循环
因此循环次数就是 指定分数-初始值+1 次
因此输出和增加分数部分是循环体条件部分是循环的条件判断


标准格式:
/execute <=指定分数 输出1
/execute <=指定分数 输出2

/execute <=指定分数 输出n
*增加分数/停止循环
/scoreboard players add @e[实体选择,score_计分板=指定分数] 计分板 1

*循环次数是 指定分数-初始值+1 次
[groupid=546]Command Block Logic[/groupid]