## 20. Amazing - part 4

As you most likely found out, we were too hasty in asking Reeborg to move forward after putting down a beeper. We need to check if there is a wall preventing him from moving first. Here's a solution to the problem.

    def turn_right():
        repeat(turn_left, 3)

    put_beeper()
    # begin changes
    if not front_is_clear():
        turn_left()
    # end changes
    move()
    while not on_beeper():
        if right_is_clear():
            turn_right()
            move()
        elif front_is_clear():
            move()
        else:
            turn_left()

    turn_off()

Test it now and see that it works. Can you imagine situations where it might not work?

Amazing - part3 - - Amazing - part 5