控制#

简介#

VEXcode GO 中的指令块通过处理循环、条件和延迟块的运行来管理项目的流程。

循环是指计算机反复执行相同的步骤或步骤组,直到收到停止指令为止。条件是计算机用来决定下一步操作的规则。例如,如果传感器检测到物体,机器人就可以向前移动。

以下是所有模块的列表:

等待#

等待 指令块会在执行下一个指令块之前,暂停当前指令块运行一段时间。

等待指令块#
等待 (1) 秒

参数

描述

时间

等待时间,以秒为单位,表示为正整数或小数。

示例

当开始 :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
驱动 [向前 v]
等待 (2) 秒
驱动停止

等待直到#

等待直到指令块会暂停指令块的运行,直到满足指定的条件后才会执行下一个指令块。

等待直到指令块#
等到 <>

参数

描述

条件

此条件必须在程序继续执行下一个指令块之前被满足。

示例

当开始 :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward when the LED Bumper is pressed.]
等到 <[bumper v] 按下了? :: custom-led>
驱动 [向前 v] [200] [毫米 v] ▶

重复#

重复 C型指令块会执行其内部指令块设定的次数。

重复C型指令块#
重复 [10]
结束

参数

描述

次数

设置重复指令块运行次数的整数。

示例

当开始 :: hat events
[Build Used: Code Base 2.0]
[Drive in a square pattern.]
重复 [4]
驱动 [向前 v] [200] [毫米 v] ▶
[右 v] 转 [90] 度 ▶

永久循环#

永久循环运行的C 型指令块会不停地重复运行它内部的指令块。

永久循环 C 型指令块#
永久循环
结束

参数

描述

该指令块没有参数。

示例

当开始 :: hat events
[Build Used: Code Base 2.0 - Eye Forward]
[Blink LED light in a pattern.]
永久循环
设定 [bumper v] 为 [绿色 v] :: custom-led
等待 [0.5] 秒
设定 [bumper v] 为 [灭 v] :: custom-led
等待 [0.5] 秒

重复直到#

重复直到 C 型指令块会反复运行其内部的指令块,直到满足指定的条件为止。

重复直到指令块#
重复直到 <>
结束

参数

描述

条件

每次循环前都会检查一个表达式或变量。如果该表达式或变量为假,则指令块继续重复执行;如果该表达式或变量为真,则循环停止。

示例

当开始 :: hat events
[Build Used: Code Base 2.0 - Eye Forward]
[Blink LED light until the LED Bumper is pressed.]
重复直到 <[bumper v] 按下了? :: custom-led>
设定 [bumper v] 为 [绿色 v] :: custom-led
等待 [0.5] 秒
设定 [bumper v] 为 [灭 v] :: custom-led
等待 [0.5] 秒

当#

当 C 型指令块会在满足指定条件时重复运行其内部的指令块。

当 C 型指令块#
当 <>
结束

参数

描述

条件

每次循环前都会检查一个表达式或变量。如果为真,则指令块继续重复执行;如果为假,则循环停止。

示例

当开始 :: hat events
[Build Used: Code Base 2.0]
[Turn the robot around.]
当 <(底盘归位角度值) [math_less_than v] [180]>
[右 v] 转
结束
驱动停止

如果#

如果 C 型指令块会在条件为真时运行其内部的指令块。

如果指令块#
如果 <> 那么
结束

参数

描述

条件

语句运行时会检查一个表达式或变量。如果该表达式或变量为真,则执行如果指令块内的指令块;如果该表达式或变量为假,则跳过这些指令块。

示例

当开始 :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
永久循环
如果 <[bumper v] 按下了? :: custom-led> 那么
驱动 [向前 v] [200] [毫米 v] ▶

如果/否则#

如果/否则 C 型指令块根据条件是真还是假来决定运行哪一组指令块。

如果那么否则指令块#
如果 <> 那么
否则
结束

参数

描述

条件

语句运行时会检查一个表达式或变量。如果它为真,则执行如果指令块内的指令块。如果它为假,则执行否则指令块内的指令块。

示例

当开始 :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward if there is no an object in the way.]
永久循环
如果 <辨色仪发现一个对象?> 那么
驱动停止
否则
驱动 [向前 v] [200] [毫米 v] ▶

如果/否则 如果/否则#

如果/否则如果/否则 可扩展 C 型指令块根据条件选择运行哪一组指令块:

  • 如果条件评估结果为真,则如果 执行其指令块。

  • 否则如果 语句仅在所有先前条件都为 假 时才会检查其他条件。可以使用多个 否则如果 语句。

  • 否则,仅当前面所有条件均不为真时,才会执行其指令块。

如果否则如果否则指令块#
如果 <> 那么
否则如果 <> 那么
否则
结束

参数

描述

条件

语句运行时会检查一个表达式或变量。第一个为真的条件会执行该组指令块。如果所有条件都为假,则会执行否则指令块内的指令块。

示例

当开始 :: hat events
[Build Used: Super Code Base 2.0]
[Turn right for red, left for green.]
永久循环
如果 <辨色仪测得 [红色 v]?> 那么
[右 v] 转
否则如果 <辨色仪测得 [绿色 v]?> 那么
[左 v] 转
否则
驱动停止

退出循环#

退出循环 指令块会立即退出循环。该指令块可以用于 重复、重复直到、当 和 永久循环 指令块中。当循环需要根据项目运行过程中发生的事件(例如按钮被按下或传感器检测到物体)提前停止时,退出循环 非常有用。

退出循环指令块#
退出循环

参数

描述

该指令块没有参数。

示例

当开始 :: hat events
[Build Used: Super Code Base 2.0]
[Flash the LED until the LED Bumper is pressed.]
永久循环
设定 [bumper v] 为 [绿色 v] :: custom-led
等待 [0.5] 秒
设定 [bumper v] 为 [红色 v] :: custom-led
等待 [0.5] 秒
如果 <[bumper v] 按下了? :: custom-led> 那么
退出循环

结束程序#

结束程序指令块会结束正在运行的程序。

结束程序指令块#
停止程序

参数

描述

该指令块没有参数。

示例

当开始 :: hat events
[Build Used: Super Code Base 2.0]
[Stop the project when the LED Bumper is pressed.]
永久循环
驱动 [向前 v] [100] [毫米 v] ▶
如果 <[bumper v] 按下了? :: custom-led> 那么
停止程序