循环语句
下一页为 for循环
循环语句也是模块中的一个重要指令
它用于不断执行某些指令,
从而让指令不断输出。
循环语句将会涉及到
基础
- 与计分板关联
无限循环与while循环
- 判断条件
- 终止循环
for循环
- 判断次数
- 终止循环
for循环模拟机械赋值
全索引链接
§4.2 for循环
[groupid=546]Command Block Logic[/groupid] §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++;
↗
可以得到以下指令
按照顺序执行:
复制代码
如果初始值为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 次
它是依照while循环延伸而得来的。
for语句事实就是while循环体中提供条件操作,
所以for语句依照的条件是条件变量。
for语句十分灵活,支持跳出、提前结束、跳过次数、嵌套等等。
4.2.1 判断次数
实现for循环需要在while语句中增加循环体对循环的操作。
比如:
执行8次say @p
那么可以这样的思路:
a<=8 → say @p; a++;
↗
可以得到以下指令
按照顺序执行:
- /execute @e[name=f,score_a=8] ~ ~ ~ say @p
- /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 次