|
Die Selektion wird mit dem Schlüsselwort if eingeleitet, gefolgt von einer Bedingung. Die Anweisungen nach if werden nur dann ausgeführt, wenn die Bedingung wahr ist, sonst werden die Anweisungen nach else ausgeführt. In der if-Bedingung werden üblicherweise die Vergleichsoperatoren >, >=, < , <= , == , != verwendet. Die Anweisungen im if- und else-Block müssen eingerückt sein.
In folgenden Beispiel bewegt sich die Schlange auf einer quadratischen Bahn. Die Schlange hat einen gelben Schwanz, wenn sich ihr Kopf in der linken Hälfte der Oxocard befindet, sonst ist der Schwanz blau.
Du fragst nach jedem Vorwärtsschritt die aktuelle x-Koordinate mit dem Befehl getX() ab. Ist die Koordinate kleiner als 4, wird die Schwanzfarbe mit dem Befehl setTailColor() auf gelb gesetzt, sonst wird sie auf blau gesetzt.
|
|
|
Programm:
from oxosnake import *
makeSnake(speed = 90, heading = 45)
repeat:
repeat 3:
forward()
if getX() < 4:
setTailColor(YELLOW)
else:
setTailColor(BLUE)
right(90)
► In Zwischenablage kopieren
Der else-Block kann auch wegfallen. In diesem Fall führt das Programm den if-Block aus, falls die Bedingung erfüllt ist und fährt dann mit der Zeile unter dem if-Block weiter. Ist die Bedingung nicht erfüllt, wird der if-Block einfach übersprungen.
In deinem Beispiel ändert die Schlange die Bewegungsrichtung wenn sie am rechten oder linken Rand ankommt. Beachte, dass im Vergleichsoperator das Gleichheitszeichen verdoppelt wird und dass man Bedingungen mit or verbinden kann. Eine solche Bedingung ist wahr ist, wenn die eine oder die andere Teilbedingung (oder auch beide) wahr sind.
|
|
|
Programm:
from oxosnake import *
makeSnake(speed = 90)
right(90)
repeat:
if getX() == 7 or getX() == 0:
left(180)
forward()
► In Zwischenablage kopieren
|