If Then Blocks#

if / else blocks are a way for your robot to make decisions during a project.

Understanding if / else blocks#

The if then branch#

An if/else block has two parts. In the if then branch, you insert a Boolean block into the condition slot for the robot to check, and add the blocks you want to run when the condition is true.

The if/else block's shape, with the if then branch highlighted.

The else branch#

In the else branch, you add the blocks you want to run when the condition is false.

The if/else block's shape, with the else branch highlighted.

Insert a Boolean block#

Drag a Boolean block into the empty condition slot in the if then branch.

A controller button R up pressed Boolean block being dragged into the empty condition slot of an if/else block.

All Boolean blocks have sharp edges and a question mark in its name, such as the controller button pressed? block.

An if/else block with a controller button R up pressed Boolean block, with the Boolean block highlighted.

If the condition is true#

If the condition is true, the blocks inside the if then branch will run.

An if/else block with a controller button R up pressed Boolean block and a drive forward block, with the drive forward block highlighted.

If the condition is false#

If the condition is false, the blocks inside the else branch will run.

An if/else block with a controller button R up pressed Boolean block, a drive forward block, and a stop driving block, with the stop driving block highlighted.

Repeating if / else blocks#

An if/else block only checks its condition once. If you want the condition to be checked repeatedly, put the if/else block inside a looping block, like forever.

An if/else block nested inside a forever block.#
    forever
        if <Controller [R ▲ v] pressed?> then
            drive [forward v]
        else
            stop driving
        end
    end

The if Block#

The if block is only the if then branch. If the condition isn’t true, nothing will happen.

The if block.#
    if <Controller [R ▲ v] pressed?> then
        drive [forward v]
    end

The if / else if / else Block#

The if / else if / else block can be used to test multiple conditions one after another. It can be expanded to test as many conditions as needed.

An if/else if/else block, testing all three Brain buttons.#
    if <Brain [◀ v] button pressed?> then
        turn [left v] for (90) degrees ▶
    else if <Brain [▶ v] button pressed?> then
        turn [right v] for (90) degrees ▶
    else if <Brain [Check v] button pressed?> then
        stop driving
    else
        drive [forward v]
    end