You already know about the
if statement. You use it to make a
decision, as in if next to a beeper, pick it up. Sometimes you
have a more complicated decision to make. Guido likes apple pie, but
his Mom doesn't always have it available. She does have cookies all
the time, though. He wants to make a statement like this: "Mom, I'd
like some apple pie, but if you don't have it, then I'd like a cookie."
You can use the
if...else... statement to allow this two-way kind
It's like the
if statement, but we add the optional
else part, providing a different course of action if the
if condition is not met.
The form of the conditional instruction with an
else clause is:
if test-condition: instruction else: other-instruction
where instruction can be either a simple instruction (like "move") or an instruction block. Code to pick up a beeper or else just move on could be written as
if next_to_a_beeper: pickbeeper move else: move
else part is optional. Use it if it makes sense.
In this project, Guido is going to circumnavigate a bounded world. He does not know the dimensions of the world (but you do, since you will create it). What he does know is that there is a beeper marking every corner of the world except the one where he starts.
Guido starts facing East in the lower left corner. If he's not next to
a beeper, he moves forward, otherwise he picks up the beeper, turns left and
moves. Create a world where it will take exactly 32 moves to circumnavigate.
You can choose the dimensions, but don't tell Guido! Put beepers in three of
the corners (southeast, northeast, northwest). Then use a
statement (32 times) and an
if...else statement to go around the
Your starting world should look somthing like this, though the dimensions may differ:
Previous | Index | Next
Copyright © 2003 Roger Frank.