Argo, der Staubsauger
Aufgabe 1: Aufräumen
(a) Ergänze die Lösung unten so, dass in Welt 1 alle Powerups aufgesammelt werden.
(b) Klicke auf Welt 2 (siehe rechts) und starte das Programm. Es erscheint eine Fehlermeldung: Kollision mit einem Asteroiden! Prüfe Zeile 7. Suche den Fehler im Programm und korrigiere ihn.
💡 Tipp für Teil (b)
Aktiviere den Debug-Modus. Untersuche, welche Zeilen ausgeführt werden, wenn die Argo auf dem letzten Powerup der ersten Stufe steht.
💡 Noch keine Idee?
3 if onPow():
4 removePow()
5 move()
6 if not onPow():
7 move()
Die Argo läuft in Zeile 7 gegen die Wand, weil sie sich zweimal bewegt: Beide bedingten Anweisungen werden ausgeführt (Z. 3 und Z. 6).
Nutze zum Beispiel eine Fallunterscheidung, um das zu ändern.
💡 Immer noch keine Idee?
Zur Erinnerung:
Eine Fallunterscheidung ist ein Konstrukt der Form if
/else
.
Ändere den Code wie im Flussdiagramm dargestellt: