Minecraft(我的世界)中文论坛

标题: [CBL∫2b]指令方块进阶教程——模块 §4 : for循环模拟机械赋值 [打印本页]

作者: ⭐✔️    时间: 2015-7-15 14:29
标题: [CBL∫2b]指令方块进阶教程——模块 §4 : for循环模拟机械赋值
本帖最后由 贰逼 于 2015-7-16 20:20 编辑

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


循环语句将会涉及到
基础
无限循环与while循环
for循环
for循环模拟机械赋值
全索引链接
上一篇(for循环 )--下一篇(循环中条件语句)

§4.2 for循环模拟机械赋值
大家都应该是知道Minecraft中某些参数不能使用计分板进行赋值
但是由于for将计分板值转化成了执行次数,所以对于某些执行参数可以使用for进行机械赋值(一般用实体中介给坐标赋值)。

例如给f的a设置计分板变量,
而f的坐标处相对向上放置a个红色羊毛。

你也许可以想到:
/execute @e[name=f] ~ ~ ~ fill ~ ~ ~ ~ ~a ~ wool 14
然而MC不能进行坐标的赋值。

因此可以转化为for:
a>=1 →
/tp @e[name=f] ~ ~1 ~
/execute @e[name=f] ~ ~ ~ setblock ~ ~ ~  wool 14
a--


指令如下:


按照顺序执行:
  1. /execute @e[name=f,score_a_min=1] ~ ~ ~ setblock ~ ~ ~ wool 14
  2. /execute @e[name=f,score_a_min=1] ~ ~ ~ tp @e[name=f] ~ ~1 ~
  3. /scoreboard players remove @e[name=f,score_a_min=1] a 1
复制代码

效果:



分析:
执行次数就是a的分数,
让a的分数通过递减来转换成循环的次数,
同时执行指令操作,
完成机械赋值。


标准赋值格式:
/execute <=1 赋值输出1
/execute <=1 赋值输出2

/execute <=1 赋值输出n
*赋值输出
赋值关键指令(例如tp)
*增加分数/停止循环
/scoreboard players add @e[实体选择,score_计分板=指定分数] 计分板 1

*循环次数是 分数 次
[groupid=546]Command Block Logic[/groupid]
作者: ufof    时间: 2015-7-15 14:38
前排支持老大
作者: JIE__    时间: 2015-7-15 14:39
好神奇的样子
作者: Mr.Right.    时间: 2015-7-15 14:42
记得我学pascal也有while循环……




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