Control#
Introduction#
The Control blocks in VEXcode GO manage the flow of a project by handling loops, conditions, and delaying blocks from running.
A loop is when a computer repeats the same step or group of steps over and over until it is told to stop. A condition is a rule the computer checks to decide what to do next. For example, a robot can move forward if a sensor detects an object.
Below is a list of all blocks:
wait — Pauses blocks from running for a specific duration.
wait until — Pauses blocks from running until a specified condition is met.
repeat — Repeats a set of blocks a specific number of times.
forever — Repeats a set of blocks indefinitely.
repeat until — Repeats a set of blocks until a condition is met.
while — Repeats a set of blocks while a condition remains true.
if — Runs a set of blocks if a condition is true.
if / else — Runs one set of blocks if a condition is true, otherwise runs another.
if / else if / else — Runs different sets of blocks depending on multiple conditions.
break — Exits a repeat, forever, repeat until, or while loop immediately.
stop project — Ends the project.
wait#
The wait stack block pauses blocks from running for a specific amount of time before moving to the next block.
wait (1) seconds
Parameters |
Description |
|---|---|
time |
The amount of time to wait, as a positive whole number or decimal in seconds. |
Example
when started :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
drive [forward v]
wait (2) seconds
stop driving
wait until#
The wait until stack block pauses blocks from running until a specified condition is met before moving to the next block.
wait until <>
Parameters |
Description |
|---|---|
condition |
The condition that must be met before moving on to the next block. |
Example
when started :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward when the LED Bumper is pressed.]
wait until <[bumper v] pressed?>
drive [forward v] for [200] [mm v] ▶
repeat#
The repeat C block runs the blocks inside it a set number of times.
repeat [10]
end
Parameters |
Description |
|---|---|
times |
A whole number that sets how many times the repeat block runs. |
Example
when started :: hat events
[Build Used: Code Base 2.0]
[Drive in a square pattern.]
repeat [4]
drive [forward v] for [200] [mm v] ▶
turn [right v] for [90] degrees ▶
forever#
The forever C block keeps running the blocks inside it again and again without stopping.
forever
end
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
when started :: hat events
[Build Used: Code Base 2.0 - Eye Forward]
[Blink LED light in a pattern.]
forever
set [bumper v] to [green v]
wait [0.5] seconds
set [bumper v] to [off v]
wait [0.5] seconds
repeat until#
The repeat until C block runs the blocks inside it repeatedly while the specified condition is not met.
repeat until <>
end
Parameters |
Description |
|---|---|
condition |
An expression or variable that is checked before each loop. If it is False, the blocks continue repeating. If it is True, the loop will stop. |
Example
when started :: hat events
[Build Used: Code Base 2.0 - Eye Forward]
[Blink LED light until the LED Bumper is pressed.]
repeat until <[bumper v] pressed?>
set [bumper v] to [green v]
wait [0.5] seconds
set [bumper v] to [off v]
wait [0.5] seconds
while#
The while C block runs the blocks inside repeatedly while the specified condition is met.
while <>
end
Parameters |
Description |
|---|---|
condition |
An expression or variable that is checked before each loop. If it is True, the blocks continue repeating. If it is False, the loop will stop. |
Example
when started :: hat events
[Build Used: Code Base 2.0]
[Turn the robot around.]
while <(drive heading in degrees) [math_less_than v] [180] >
turn [right v]
end
stop driving
if#
The if C block runs the blocks inside if the condition is True.
if <> then
end
Parameters |
Description |
|---|---|
condition |
An expression or variable that is checked when the statement runs. If it is True, the blocks inside the if block will run. If it is False, the blocks are skipped over. |
Example
when started :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
forever
if <[bumper v] pressed?> then
drive [forward v] for [200] [mm v] ▶
if / else#
The if / else C block determines which set of blocks runs based on whether the condition is True or False.
if <> then
else
end
Parameters |
Description |
|---|---|
condition |
An expression or variable that is checked when the statement runs. If it is True, the blocks inside the if block will run. If it is False, it will runs the blocks inside the else block. |
Example
when started :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward if there is no an object in the way.]
forever
if <eye found an object?> then
stop driving
else
drive [forward v] for [200] [mm v] ▶
if / else if / else#
The if / else if / else expandable C block selects which set of blocks runs based on conditions:
if runs its block of code if the condition evaluates as True.
else if checks additional conditions only if all previous conditions evaluated as False. Multiple else if statements can be used.
else runs its block of code only if none of the previous conditions evaluated as True.
if <> then
else if <> then
else
end
Parameters |
Description |
|---|---|
condition |
An expression or variable that is checked when the statement runs. The first condition that is True runs that set of blocks. If all conditions evaluate as False, the blocks inside the else block will run. |
Example
when started :: hat events
[Build Used: Super Code Base 2.0]
[Turn right for red, left for green.]
forever
if <eye detects [red v] ?> then
turn [right v]
else if <eye detects [green v] ?> then
turn [left v]
else
stop driving
break#
The break stack block exits a loop immediately. This block can be used inside repeat, repeat until, while, and forever blocks. Break is useful when a loop needs to stop early based on something that happens during the project, like a button being pressed or a sensor detecting an object.
break
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
when started :: hat events
[Build Used: Super Code Base 2.0]
[Flash the LED until the LED Bumper is pressed.]
forever
set [bumper v] to [green v]
wait [0.5] seconds
set [bumper v] to [red v]
wait [0.5] seconds
if <[bumper v] pressed?> then
break
stop project#
The stop project stack block ends a running project.
stop project
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
when started :: hat events
[Build Used: Super Code Base 2.0]
[Stop the project when the LED Bumper is pressed.]
forever
drive [forward v] for [100] [mm v] ▶
if <[bumper v] pressed?> then
stop project