**Dies ist eine alte Version des Dokuments!**
Wiederholungen und Schleifen
Statt einen Befehl mehrere Male hintereinander hinzuschreiben, können wir eine Anweisung oder eine ganze Sequenz auch mit einer Schleife wiederholen. Die untenstehende Schleife lässt Kara solange (Englisch: while) vorwärts laufen, bis sie vor einem Pilz steht.
Dafür können wir Kara fragen, ob auf dem Platz vor ihr ein Pilz ist, mit kara.mushroomFront()
. Da Kara solange weiterlaufen wollen, als kein Pilz vor ihr ist, müssen wir Karas Antwort gerade umdrehen, das geschieht mit dem Ausrufezeichen vor kara
.
Beachte:
- Die Bedingung von
while
muss in runden Klammern stehen. - Die zu wiederholenden Anweisungen werden in geschweiften Klammern eingeschlossen.
Aufgabe 2
Schau dir die untenstehende Kara-Welt gut an. Kannst du ein Kara-Programm schreiben, das mit zwei Schleifen zum Pilz kommt? Dafür kannst du mit kara.treeFront()
herausfinden, ob vor Kara ein Baum steht.
Aufgabe 3
Schreibe ein Kara-Programm, das mit zwei Schleifen zum Pilz gelangt! Funktioniert das Programm auch, wenn Kara zu Beginn in eine andere Richtung schaut?
Probier deine Lösung ohne Änderung in dieser Welt aus:
Verschachtelte Schleifen
Eine while
-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln. Betrachte den folgenden Code! Wie wird sich Kara bewegen?
Weiter
Gratuliere, du hast deine ersten Kara-Schleifen geschrieben!
Um wirklich ein Programm schreiben zu können, das aus vielen oder sogar allen Labyrinthen findet, möchten wir etwas von der folgenden Form haben:
while (!kara.mushroomFront()) { // Wahl zwischen turnLeft, turnRight oder move, je nach Situation. }
Wir könnten das vielleicht mit einer verschachtelten Schleife erreichen, aber Kara hat noch mehr auf Lager!
Weiter gehts mit Verzweigungen.