Der Roboter soll nur die markierten Felder
färben. Dafür musst du Fallunterscheidungen verwenden, die unter "weitere Hinweise" erklärt werden.
Tipp: Es gibt immer zwei markierte Felder übereinander. Weil der Roboter nicht wieder nach links gehen kann, muss er erst beide Felder färben, bevor er vorwärts geht.
Tipp: Es gibt immer zwei markierte Felder über- oder untereinander. Weil der Roboter nicht wieder nach links gehen kann, muss er erst beide Felder färben, bevor er vorwärts geht.
Um zu prüfen, ob sich der Roboter auf einer Markierung befindet, und dann ggf. das aktuelle Feld zu färben, verwendest du folgende Bausteine:
Um zu prüfen, ob sich der Roboter auf einer Markierung befindet, und dann ggf. das aktuelle Feld zu färben, verwendest
du die if-Kontrollanweisung:
if aufMarkierung():
faerbeFeld()
Wenn der Roboter auf einer Markierung steht, dann wird die Funktion faerbeFeld() aufgerufen. Wenn der
Roboter nicht auf einer Markierung steht, dann passiert nichts.
Du kannst auch mehrere Anweisungen in einen falls-Baustein einfügen:
Alle Befehle, die in der Klammer stehen, werden nur dann ausgeführt, wenn die Bedingung zutrifft.
In diesem Beispiel also:
Du kannst auch mehrere Anweisungen in eine if-Kontrollanweisung einfügen:
if aufMarkierung():
faerbeFeld()
rechts()
Alle Befehle, die nach dem Doppelpunkt eingerückt stehen, werden nur dann ausgeführt, wenn die Bedingung zutrifft.
In diesem Beispiel also:
Du kannst den falls-sonst-Baustein benutzen, um unterschiedliche Anweisung ausführen zu lassen, je
nachdem, ob das Feld markiert ist oder nicht.
Beachte, dass du sowohl in der falls-Klammer als auch in der sonst-Klammer auch mehrere
Anweisungen einfügen kannst.
Du kannst die if-Kontrollanweisung mit else erweitern, um unterschiedliche Anweisung
ausführen zu lassen, je nachdem, ob das Feld markiert ist oder nicht.
if aufMarkierung():
faerbeFeld()
rechts()
else:
oben()
Die Befehle, die nach einem Doppelpunkt eingerückt stehen, werden "als Block" entweder alle ausgeführt oder alle nicht
ausgeführt. Welcher Block ausgeführt wird, hängt davon ab, ob die Bedingung hinter if erfüllt ist oder nicht.
In diesem Beispiel also: