Random escapes

Here are some sample programs illustrating what could come next. They are included for illustrative purpose only; some of the syntax is likely to change.

Random escape 1

A simple program that relies on random turns and moves to find the exit from a maze. Checks for the presence of a wall in front and moves only if there is none present. Example of Look before you leap.

G = RefurbishedRobot()
G.set_delay(0) # moving as fast as possible
while True:
    if G.front_is_clear():
        G.move()
        if G.next_to_a_beeper():
            G.turn_off()
    r = G.roll_dice()
    if r in [1, 2]:
        G.turn_left()
    elif r in [3, 4]:
        G.turn_right()
We have set the time delay to the minimum value (hence, the fastest speed) as it can take quite a while to find the exit! The example below is not necessarily representative.

random maze solution

Random escape 2

A simple program that relies on random turns and moves to find the exit from a maze. Catches exceptions (rather than checking for the presence of a wall). Example of Better to ask forgiveness than permission.

G = RefurbishedRobot()
G.set_delay(0) # moving as fast as possible
while True:
    try:
        G.move()
        if G.next_to_a_beeper():
            G.turn_off()
    except HitWallException:
        pass
    r = G.roll_dice(3) # possible values: 1, 2, 3
    if r == 1:
        G.turn_left()
    elif r == 2:
        G.turn_right()
home
../images/SourceForge.net Logo