控制#
介绍#
VEXcode 123 中的控制块通过处理循环、条件和延迟块的运行来管理项目的流程。
循环是指计算机反复执行相同的步骤或步骤组,直到收到停止指令为止。条件是计算机用来决定下一步操作的规则。例如,如果眼部传感器检测到物体,则车辆向前行驶。
以下是可用模块列表:
wait – 暂停代码块运行指定的时间。
wait until – 暂停代码块运行,直到满足指定的条件。
repeat – 将一组代码块重复指定次数。
forever – 无限重复一组方块。
repeat until – 重复执行一组代码块,直到满足某个条件。
while – 当条件为真时,重复执行一组代码块。
if – 如果条件为真,则运行一组代码块。
if / else – 如果条件为真,则运行一组代码块;否则,运行另一组代码块。
if / else if / else – 根据多个条件运行不同的代码块集。
break – 立即退出 repeat、forever、repeat until 或 while 循环。
停止项目 – 结束项目。
等待#
wait 栈块会在执行下一个代码块之前,暂停当前代码块运行一段时间。
等待 (1) 秒
参数 |
描述 |
|---|---|
时间 |
等待时间,以秒为单位,表示为正整数或小数。 |
例子
当开始 :: hat events
[Drive forward then stop.]
驱动 [向前 v]
等待 (2) 秒
驱动停止
等到#
等待直到栈块会暂停代码块的运行,直到满足指定的条件后才会执行下一个代码块。
等到 <>
参数 |
描述 |
|---|---|
状况 |
进入下一模块之前必须满足的条件。 |
例子
当开始 :: hat events
[Drive forward when the sound button is pressed.]
等到 <[soundIcon v] 按下了?>
驱动 [向前 v] [200] [毫米 v]
重复#
repeat C 代码块会执行其内部代码块设定的次数。
重复 [10]
结束
参数 |
描述 |
|---|---|
时代 |
一个整数,用于设置重复代码块运行的次数。 |
例子
当开始 :: hat events
[Drive in a square pattern.]
重复 [4]
驱动 [向前 v] [200] [毫米 v]
[右 v] 转 [90] 度
永远#
永远运行的C代码块会不停地重复运行它内部的代码块。
永久循环
结束
参数 |
描述 |
|---|---|
此代码块没有参数。 |
例子
当开始 :: hat events
[Blink LED light in a pattern.]
永久循环
发光 [绿色 v]
等待 [0.5] 秒
发光 [灭 v]
等待 [0.5] 秒
重复直到#
repeat until C 代码块会反复运行其内部的代码块,直到满足指定的条件为止。
重复直到 <>
结束
参数 |
描述 |
|---|---|
状况 |
每次循环前都会检查一个表达式或变量。如果该表达式或变量为False,则代码块继续重复执行;如果该表达式或变量为True,则循环停止。 |
例子
当开始 :: hat events
[Blink LED light until the sound button is pressed.]
重复直到 <[soundIcon v] 按下了?>
发光 [绿色 v]
等待 [0.5] 秒
发光 [灭 v]
等待 [0.5] 秒
尽管#
while C 代码块会在满足指定条件时重复运行其内部的代码块。
当 <>
结束
参数 |
描述 |
|---|---|
状况 |
每次循环前都会检查一个表达式或变量。如果为真,则代码块继续重复执行;如果为假,则循环停止。 |
例子
当开始 :: hat events
[Turn the robot around.]
当 <(底盘归位角度值) [math_less_than v] [180]>
[右 v] 转
结束
驱动停止
如果#
if C 代码块会在条件为True时运行其内部的代码块。
如果 <> 那么
结束
参数 |
描述 |
|---|---|
状况 |
语句运行时会检查一个表达式或变量。如果该表达式或变量为真,则执行if代码块内的代码块;如果该表达式或变量为假,则跳过这些代码块。 |
例子
当开始 :: hat events
[Drive forward whenever the sound button is pressed.]
永久循环
如果 <[soundIcon v] 按下了?> 那么
驱动 [向前 v] [200] [毫米 v]
如果/否则#
if / else C 代码块根据条件是真还是假来决定运行哪一组代码块。
如果 <> 那么
否则
结束
参数 |
描述 |
|---|---|
状况 |
语句运行时会检查一个表达式或变量。如果它为真,则执行if代码块内的代码块。如果它为假,则执行else代码块内的代码块。 |
例子
当开始 :: hat events
[Drive forward until a crash.]
永久循环
如果 <检测到碰撞?> 那么
驱动停止
否则
驱动 [向前 v] [200] [毫米 v]
如果/否则如果/否则#
if / else if / else 可扩展 C 代码块根据条件选择运行哪一组代码块:
如果条件评估结果为True,则if 执行其代码块。
else if 语句仅在所有先前条件都为 False 时才会检查其他条件。可以使用多个 else if 语句。
否则,仅当前面所有条件均不为真时,才会执行其代码块。
如果 <> 那么
否则如果 <> 那么
否则
结束
参数 |
描述 |
|---|---|
状况 |
语句运行时会检查一个表达式或变量。第一个为真的条件会执行该组代码块。如果所有条件都为假,则会执行else代码块内的代码块。 |
例子
当开始 :: hat events
[Turn right for the right button, left for the left button.]
永久循环
如果 <[ifbuttonright v] 按下了?> 那么
[右 v] 转
否则如果 <[ifbuttonleft v] 按下了?> 那么
[左 v] 转
否则
驱动停止
休息#
break 代码块会立即退出循环。该代码块可以用于 repeat、repeat until、while 和 forever 代码块中。当循环需要根据项目运行过程中发生的事件(例如按钮被按下或传感器检测到物体)提前停止时,break 非常有用。
退出循环
参数 |
描述 |
|---|---|
此代码块没有参数。 |
例子
当开始 :: hat events
[Flash the LED until the sound button is pressed.]
永久循环
发光 [绿色 v]
等待 [0.5] 秒
发光 [蓝色 v]
等待 [0.5] 秒
如果 <[soundIcon v] 按下了?> 那么
退出循环
停止项目#
停止项目堆栈块会结束正在运行的项目。
停止程序
参数 |
描述 |
|---|---|
此代码块没有参数。 |
例子
当开始 :: hat events
[Stop the project after a crash.]
永久循环
驱动 [向前 v]
如果 <检测到碰撞?> 那么
停止程序