Aussehen
Hindernisse
Vier Aufgaben, ein Thema: Zwischen Kara und ihrem Ziel steht etwas im Weg. Neue Sprachmittel brauchst du dafür nicht — du hast schon alle. Was hier dazukommt, ist das Zerlegen: aus einem großen Problem mehrere kleine machen, die du einzeln lösen kannst.
Nimm dir für jede Aufgabe erst Papier oder das Bild und beantworte zwei Fragen:
- Woran erkennt Kara, dass sie fertig ist? Das ist die Bedingung deiner äußeren Schleife.
- Woran erkennt sie, dass sie ausweichen muss? Das ist die Bedingung deiner Entscheidung.
Wer diese beiden Sätze hat, schreibt das Programm in wenigen Minuten. Wer gleich lostippt, sitzt lange.
Einzelne Bäume umlaufen
Kara sucht Blaubeeren. Sie weiß, dass welche geradeaus vor ihr liegen — sie muss nur um die Bäume herumlaufen. Glücklicherweise stehen diese immer einzeln.
Über der Baumreihe ist genau eine Zeile frei. Mehr braucht ein Umweg nicht.
Der Wald wird dichter
Jetzt stehen die Bäume in Gruppen. Hilf Kara dabei, auch Baumgruppen umlaufen zu können.
Dein Programm von eben geht einmal hoch, einen Schritt weiter und wieder herunter. Was muss aus diesem „einen Schritt weiter" werden, damit es auch bei drei Bäumen stimmt?
An etwas entlanglaufen
Die nächsten beiden Aufgaben drehen die Sache um: Kara läuft nicht mehr auf ein Ziel zu, sondern an etwas entlang. Der Baum ist nicht mehr das Hindernis, sondern das Geländer.
Der Trick dabei heißt rechte-Hand-Regel: Kara hält die Wand immer auf derselben Seite. Sie fragt bei jedem Schritt, ob dort noch etwas ist — und wenn nicht, muss sie um die Ecke.
Patrouille um den Wald
Kara möchte um ihren Wald im Uhrzeigersinn patrouillieren, um die köstlichen Blaubeeren vor einer Horde Brokkolis zu schützen. Programmiere sie so, dass sie endlos im Uhrzeigersinn um alle Wälder laufen kann.
„Endlos" heißt: while True ist hier ausnahmsweise genau richtig.
Slalom
Kara möchte zwischen den Bäumen Slalom fahren. Programmiere sie so, dass sie den Slalom endlos hin- und zurückfährt. Der Parcours geht immer um drei Bäume.
Schau dir dein Programm danach genau an. Es enthält mehrere Stücke, die einander sehr ähnlich sehen — merk dir das, die nächste Seite räumt damit auf.