控制#
等待#
等待块用于等待特定的时间,然后再移动到下一个块。
等待 (1) 秒
选择等待的时间。
等待块可以接受小数、整数或数字块。
在这个例子中,机器人将向前行驶 4 秒然后停止。
当开始 :: hat events
驱动 [向前 v]
等待 (4) 秒
驱动停止
重复#
重复 C 块用于将其中包含的块重复一定次数。
重复 (10)
结束
首先输入一个值来指示堆栈将重复其中包含的块的次数。
Repeat C 块可以接受整数或数字块。
C 代码块也可以嵌套在一起。这种概念称为嵌套,它有助于在编写不同行为的程序时节省时间。
在这个例子中,机器人将向前行驶 400 毫米,然后连续 4 次向右转 90 度,形成一个正方形。
当开始 :: hat events
重复 (4)
驱动 [向前 v] (400) [毫米 v] ▶
[右 v] 转 (90) 度 ▶
结束
永远#
永远 C 块用于永远重复其中包含的任何块。
永久循环
结束
将块放置在永远 C 块中以使这些动作永远重复。
您可以通过在里面放置一个中断块来退出永久 C 块。
C 代码块也可以嵌套在一起。这种概念称为嵌套,它有助于在编写不同行为的程序时节省时间。
在这个例子中,永远块用于在机器人向前行驶时不断检查左保险杠是否被按下。
当开始 :: hat events
驱动 [向前 v]
永久循环
如果 <[leftBumper v] 按下了?> 那么
驱动停止
结束
如果那么#
如果布尔条件报告“True”,则使用If then C 块运行内部块。
如果 <> 那么
结束
If then C 块只会检查一次布尔条件。
如果布尔条件报告“True”,则 C 块内的块将运行。
如果布尔条件报告“False”,则将跳过 C 块内的块。
如果那么 C 块可以接受六边形(六边形)块作为其条件。
在这个例子中,如果则模块会不断检查左保险杠是否被按下。如果保险杠被按下,传动系统就会停止。
当开始 :: hat events
驱动 [向前 v]
永久循环
如果 <[LeftBumper v] 按下了?> 那么
驱动停止
结束
如果 那么 其他#
If then else C 块用于根据报告的布尔值运行 if then else 的第一部分或第二部分内的块。
如果 <> 那么
否则
结束
If then else C 块只会检查一次布尔条件。
如果布尔条件报告“True”,则if部分内的块将会运行。
如果布尔条件报告“False”,则将运行else部分内的块。
If then else C 块可以接受六边形(六边形)块作为其条件。
在这个例子中,如果则否则模块会不断检查前方距离传感器是否检测到物体。如果传感器检测到物体,机器人就会向前行驶,否则,机器人就会向右转弯。
当开始 :: hat events
永久循环
如果 <[FrontDistance v] 发现对象?> 那么
驱动 [向前 v]
否则
[右 v] 转
结束
如果 则 否则 如果 则 否则#
If then else if then else C 块用于运行 If then else if then else C 块中第一组内部块内的块,其中条件返回“True”。
如果 <> 那么
否则如果 <> 那么
否则
结束
If then else if then else C 块只会检查一次布尔条件。
如果布尔条件报告“True”,则if部分内的块将运行。
如果布尔条件结果为“False”,则If then else if then else C 代码块将检查else if行的第一行。对于每一行else if,该代码块将检查布尔条件结果是否为“True”。如果结果为“True”,则该行正下方的内部代码块将运行,然后再继续执行If then else if then else C 代码块下的下一个代码块。
如果 else if 行的所有布尔条件都报告“False”,则将运行 else 部分内的块。
If then else if then else C 块可以接受六边形(六边形)块作为其条件。
要添加另一个 else if 条件,请点击 else 行上的 +。这会在当前列表底部添加一个新的 else if 条件。
要移除 else if 条件,请点击 else 行上的 -。这将移除最后一个 else if 条件行,但不会删除该条件中已使用的任何代码块。
在此示例中,会不断检查 如果然后否则如果然后否则 积木块,以查看下眼传感器是否检测到绿色,然后是蓝色。如果检测到绿色,机器人将向右旋转 90 度;如果检测到蓝色,机器人将向左旋转 90 度。如果下眼传感器未检测到任何颜色,机器人将向前行驶。
当开始 :: hat events
永久循环
如果 <[DownEye v] 测得 [绿色 v]?> 那么
[右 v] 转 (90) 度 ▶
否则如果 <[DownEye v] 测得 [蓝色 v]?> 那么
[左 v] 转 (90) 度 ▶
否则
驱动 [向前 v]
结束
等到#
等待直到块用于等待布尔块报告“True”后再移动到下一个块。
等到 <>
等待直到块将重复检查布尔报告块,并且直到布尔报告块报告“True”时才会移动到下一个块。
等待直到布尔块可以接受六边形(六边形)形状的块。
在这个例子中,机器人将向前行驶,直到其当前 Y 位置(以毫米为单位)大于 300,然后停止。
当开始 :: hat events
驱动 [向前 v]
等到 <([Y v] 位标为 [毫米 v]) [math_greater_than v] (300)>
驱动停止
重复直到#
重复直到 C 块用于重复内部的块,直到布尔条件报告“True”。
重复直到 <>
结束
重复直到 C 块只会在每个循环开始时检查布尔条件。
如果布尔条件报告“False”,则块内的块将运行。
如果布尔条件报告“True”,则将跳过块内的块。
“重复直到” C 块可以接受六边形(六边形)块作为其条件。
在此示例中,机器人将以 100 毫米的增量向前移动,每次移动后等待 1 秒。重复直至模块将重复这些移动,直到机器人的 Y 轴位置大于 300 毫米。
当开始 :: hat events
重复直到 <([Y v] 位标为 [毫米 v]) [math_greater_than v] (300)>
驱动 [向前 v] (100) [毫米 v] ▶
等待 (1) 秒
结束
尽管#
While C 块用于在布尔条件报告“True”时重复内部的块。
当 <>
结束
While C 块只会在每个循环开始时检查布尔条件。
如果布尔条件报告为“True”,则块内的块将运行。
如果布尔条件报告为“False”,则块内的块将被跳过。
While C 块可以接受六边形(六边形)块作为其条件。
在这个例子中,当 Brain 的计时器少于 3 秒时,机器人将向前行驶。一旦计时器超过 3 秒,传动系统将停止。
当开始 :: hat events
当 <(计时器秒数) [math_less_than v] (3)>
驱动 [向前 v]
结束
驱动停止
休息#
Break 块用于立即退出重复循环。
退出循环
当添加到重复的 C 块时,Break 块将退出其当前所在的循环。
在此示例中,机器人将向前行驶,直到前眼传感器检测到它靠近物体。一旦检测到,它将停止检查If then语句并停止传动系统。
当开始 :: hat events
驱动 [向前 v]
永久循环
如果 <[FrontEye v] 靠近对象?> 那么
退出循环
结束
结束
驱动停止
停止项目#
停止项目块用于停止正在运行的项目
停止程序
在这个例子中,机器人将向前行驶两秒钟,然后项目停止。
当开始 :: hat events
驱动 [向前 v]
等待 (2) 秒
停止程序