Control#

Wait#

The Wait block is used to wait for a specific amount of time before moving to the next block.

a VEXcode block of code containing a wait 1 second blocks#
  wait (1) seconds

Choose an amount of time to wait.

The wait block can accept decimals, integers, or numeric blocks.

In this example, the Robot will drive forward for 4 seconds before stopping.

a VEXcode blocks stack of code containing a when started block, a drive forward block, a wait 4 seconds block, and a stop driving block#
  when started :: hat events
  drive [forward v]
  wait (4) seconds
  stop driving

Repeat#

The Repeat C block is used to repeat the blocks contained inside for a set number of times.

a VEXcode blocks stack of code containing a repeat 10 block and an end block#
  repeat (10)
  end

First enter a value to indicate how many times the stack will repeat the blocks contained inside.

The Repeat C block can accept integers or numeric blocks.

C blocks can also be put inside of each other. This concept is called nesting which can help save time when programming different behaviors.

In this example, the Robot will drive forward for 400 Millimeters and turn right by 90 degrees 4 times in a row to make a square.

a VEXcode blocks stack of code containing a when started block, a repeat (4) block, a drive forward for 400 mm block, and a turn right for 90 degrees block.#
  when started :: hat events
  repeat (4)
  drive [forward v] for (400) [mm v] ▶
  turn [right v] for (90) degrees ▶
  end

Forever#

The Forever C block is used to repeat any blocks contained inside forever.

a VEXcode blocks stack of code containing a forever block and an end block#
  forever
  end

Place blocks in a Forever C block to have those actions repeat forever.

You can exit a Forever C block by placing a break block inside.

C blocks can also be put inside of each other. This concept is called nesting which can help save time when programming different behaviors.

In this example, the Forever block is used to continuously check if the Left bumper has been pressed as the Robot drives forward.

a VEXcode blocks stack of code containing a when started block, a drive forward block, a forever block, an if left bumper pressed then block, a stop driving block, and an end block.#
  when started :: hat events
  drive [forward v]
  forever
  if <[leftBumper v] pressed?> then
  stop driving
  end

If then#

The If then C block is used to run the blocks inside, if the Boolean condition reports True.

a VEXcode blocks stack of code containing an if then block and an end block#
  if <> then
  end

The If then C block will only check the Boolean condition once.

If the Boolean condition reports True, the blocks inside of the C block will run.

If the Boolean condition reports False, the blocks inside of the C block will be skipped.

The If then C block can accept hexagonal (six-sided) shaped blocks as its condition.

In this example, the If then block is continuously checked to see if the Left Bumper is pressed. If the bumper is pressed, the Drivetrain will stop.

a VEXcode blocks stack of code containing a when started block, a drive forward block, a forever block with an if leftbumper pressed block inside of it then a stop driving block#
  when started :: hat events
  drive [forward v]
  forever
  if <[LeftBumper v] pressed?> then
  stop driving
  end

If then else#

The If then else C block is used to run the blocks inside the first or second parts of the if then else, based on the Boolean value reported.

a VEXcode blocks stack of code containing an if then else block#
  if <> then
  else
  end

The If then else C block will only check the Boolean condition once.

If the Boolean condition reports True, the blocks inside of the if section will be run.

If the Boolean condition reports False, the blocks inside of the else section will be run.

The If then else C block can accept hexagonal (six-sided) shaped blocks as its condition.

In this example, the If then else block is continuously checked to see if the Front Distance Sensor has detected an object. If the sensor detected an object, the Robot will drive forward, otherwise, it will turn to the right.

a VEXcode blocks stack of code containing a when started block with a forever block with an if drive forward else turn right block inside of it#
  when started :: hat events
  forever
  if <[FrontDistance v] found an object?> then
  drive [forward v]
  else
  turn [right v]
  end

If then else if then else#

The If then else if then else C block is used to run the blocks inside the first set of internal blocks in the If then else if then else C block where the condition returns True.

a VEXcode blocks stack of code containing an if then block, an else if then block, and an else block.#
  if <> then
  else if <> then
  else
  end

The If then else if then else C block will only check the Boolean condition once.

If the Boolean condition reports True, the blocks inside the if section will run.

If the Boolean condition reports False, the If then else if then else C block will check the first of the else if lines. For each else if line, the block will check if the Boolean condition is reports True. If it is true, the internal blocks directly under that line will run before continuing on to the next block under the If then else if then else C block.

If all the Boolean conditions for the else if lines report False, the blocks inside of the else section will be run.

The If then else if then else C block can accept hexagonal (six-sided) shaped blocks as its condition.

To add another else if condition, click on the + on the else line. This will add a new else if condition to the bottom of the current list.

To remove an else if condition, click on the - on the else line. This will remove the last else if condition line, but will not delete any used blocks in the condition.

In this example, the If then else if then else block is checked continuously to see if the Down Eye Sensor has detected the color green, then blue. If it detects the color green, the Robot will turn right by 90 degrees, If it detects the color blue, the Robot will turn left by 90 degrees. If the Down Eye Sensor detects nothing, the Robot will drive forward.

a VEXcode blocks stack of code containing a when started block, a forever block with an if downeye detects green block then a turn right for 90 degrees block then an else if turn left for 90 degrees block then a drive forward block#
  when started :: hat events
  forever
  if <[DownEye v] detects [green v] ?> then
  turn [right v] for (90) degrees ▶
  else if <[DownEye v] detects [blue v] ?> then
  turn [left v] for (90) degrees ▶
  else
  drive [forward v]
  end

Wait until#

The Wait until block is used to wait for a Boolean block to report True before moving to the next block.

A VEXcode blocks stack of code containing a wait until block#
  wait until <>

The Wait until block will repeatedly check a Boolean reporter block and will not move to the next block until the Boolean report block reports True.

The Wait until Boolean block can accept hexagonal (six-sided) shaped blocks.

In this example, the Robot will drive forward until its current Y position in Millimeters is greater than 300, then it will stop.

A visual coding block sequence that begins with a yellow 'when started' block. Below it is a blue 'drive forward' block, followed by a yellow 'wait until' block. The 'wait until' block contains a condition, placed inside a green diamond-shaped block, that checks if the 'position Y in mm' is greater than 300. Once this condition is met, the sequence triggers the action 'stop driving' using a blue block.

Repeat until#

The Repeat until C block is used to repeat the blocks inside until the Boolean condition reports True.

a VEXcode blocks stack of code containing a repeat until block#
  repeat until <>
  end

The Repeat until C block will only check the Boolean condition at the beginning of each loop.

If the Boolean condition reports False, the blocks inside of the block will run.

If the Boolean condition reports True, the blocks inside of the block will be skipped.

The Repeat until C block can accept hexagonal (six-sided) shaped blocks as its condition.

In this example, the Robot will move forward in 100 Millimeter increments, waiting 1 second after each movement. The Repeat until block will repeat those movements until the Y position of the Robot is greater than 300 Millimeters.

A visual coding block sequence starting with a yellow 'when started' block. Below it is a yellow 'repeat until' block with a condition inside a green hexagon-shaped block that checks if the 'position Y in mm' is greater than '300.' Within the loop is a blue block that says 'drive forward for 100 mm' followed by a yellow block that says 'wait 1 seconds'.

While#

The While C block is used to repeat the blocks inside while the Boolean condition reports True.

a VEXcode blocks stack of code containing a while block#
  while <>
  end

The While C block will only check the Boolean condition at the beginning of each loop.

If the Boolean condition is reports True, the blocks inside of the block will run.

If the Boolean condition is reports False, the blocks inside of the block will be skipped.

The While C block can accept hexagonal (six-sided) shaped blocks as its condition.

In this example, the Robot will drive forward while the Brain’s timer is less than 3 seconds. Once the timer is greater than 3 seconds, the Drivetrain will stop.

A set of coding blocks that instructs a robot to 'Drive forward when the timer reads less than 2 seconds.' The sequence starts with a 'when started' block followed by a 'while' loop that checks if the 'timer in seconds' is less than 2. If the condition is met, the robot will 'drive forward,' and when the condition is no longer true, the robot will 'stop driving.'"

Break#

The Break block is used to exit a repeating loop immediately.

a VEXcode blocks stack of code containing a break block#
  break

When added to a repeating C block, the Break block will exit the loop it is currently in.

In this example, the Robot will drive forward until the Front Eye Sensor detects that it is near an object. Once detected, it will stop checking the If then statement and stop the Drivetrain.

a VEXcode blocks stack of code containing a when started block, a drive forward block, an if fronteye is near object block and a break block and a stop driving block#
  when started :: hat events
  drive [forward v]
  forever
  if <[FrontEye v] is near object?> then
  break
  end
  end
  stop driving

Stop project#

The Stop project block is used to stop a running project

a VEXcode blocks stack of code containing a stop project block#
  stop project

In this example, the Robot will drive forward for two seconds before the project stops.

a VEXcode blocks stack of code containing a when started block, a drive forward block, a wait 2 seconds block, and a stop project block.#
  when started :: hat events
  drive [forward v]
  wait (2) seconds
  stop project