image: teaser.webp:50:40
icon: /images/pip/icon-bello.png
kind: uebung
duration: 3 Doppelstunden
languages: [ruby, python, javascript]
idea: "Pip findet Bello: Schleifen mit Bedingung, eigene Funktionen, Variablen, ein Algorithmus fürs Labyrinth"
curriculum: "Sek I: Algorithmisches Problemlösen (Miniwelten, algorithmische Grundstrukturen, Variablenkonzept und Prozeduren); Oberstufe: Algorithmen und Datenstrukturen (ein Algorithmus fürs Labyrinth)"
requires: [pip-1, kata-loops]
Pip unter Funkelbach: Bellos Spur
Bello ist noch irgendwo da unten. Jetzt wird es finster: Pip weiß nicht mehr,
wie lang ein Stollen ist, und der Plan muss selbst nachsehen. Mit eigenen
Zaubersprüchen, der Hand an der Wand und Bellos Pfotenabdrücken findet Pip den
Weg, und den zurück ans Licht.
»Hinter den Glibbern geht es tiefer hinein«, sagt der Wichtel. »Da unten habe ich
keine Karten mehr. Pip muss selbst nachsehen, wo es weitergeht. Zum Glück kann
dein Plan Fragen stellen.«
1. Im Finstern
Bisher hast du gezählt: viermal das, achtmal jenes. Hier weiß niemand, wie lang
ein Stollen ist. Eine Schleife mit while zählt nicht, sie fragt: Sie
wiederholt, solange eine Bedingung wahr ist.
Befehl
Was Pip macht
front_clear?
fragt: Ist das Feld vor Pip frei?
on_lamp?
fragt: Steht Pip an der Lampe?
whilefront_clear?turn_leftend
Solange vorn frei ist, dreht sich Pip. Schaut Pip auf eine Wand, ist die
Bedingung falsch, und es geht nach end weiter. (Ist ringsum frei, dreht sich
Pip ewig; nach 1000 Schritten hält die Welt an.) until ist das
Gegenteil: until on_lamp? wiederholt, bis Pip an der Lampe steht.
Befehl
Was Pip macht
front_clear()
fragt: Ist das Feld vor Pip frei?
on_lamp()
fragt: Steht Pip an der Lampe?
whilefront_clear():turn_left()
Solange vorn frei ist, dreht sich Pip. Schaut Pip auf eine Wand, ist die
Bedingung falsch, und es geht nach der Schleife weiter. (Ist ringsum frei,
dreht sich Pip ewig; nach 1000 Schritten hält die Welt an.) not
dreht eine Antwort um: while not on_lamp(): wiederholt, bis Pip an der Lampe
steht.
Befehl
Was Pip macht
frontClear()
fragt: Ist das Feld vor Pip frei?
onLamp()
fragt: Steht Pip an der Lampe?
while (frontClear()){turnLeft();}
Solange vorn frei ist, dreht sich Pip. Schaut Pip auf eine Wand, ist die
Bedingung falsch, und es geht nach der Schleife weiter. (Ist ringsum frei,
dreht sich Pip ewig; nach 1000 Schritten hält die Welt an.) !
dreht eine Antwort um: while (!onLamp()) wiederholt, bis Pip an der Lampe
steht.
Aufgabe 1Bis zur WandEinstieg
Drei Stollen, alle verschieden lang. Pip geht mit while vorwärts, solange vorn frei ist: front_clear? sagt es.
Tipp
Was in der Schleife steht, macht Pip, solange die Frage front_clear? mit Ja beantwortet wird. In der Schleife reicht ein Schritt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 1Bis zur WandEinstieg
Drei Stollen, alle verschieden lang. Pip geht mit while vorwärts, solange vorn frei ist: front_clear() sagt es.
Tipp
Was in der Schleife steht, macht Pip, solange die Frage front_clear() mit Ja beantwortet wird. In der Schleife reicht ein Schritt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 1Bis zur WandEinstieg
Drei Stollen, alle verschieden lang. Pip geht mit while vorwärts, solange vorn frei ist: frontClear() sagt es.
Tipp
Was in der Schleife steht, macht Pip, solange die Frage frontClear() mit Ja beantwortet wird. In der Schleife reicht ein Schritt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 2Steine im FinsternÜbung
Dieselben Stollen, jetzt mit Funkensteinen, auf jeder Karte woanders. Sammle sie auf dem Weg zur Lampe alle ein.
Tipp
In die Schleife kommt nach dem Schritt die Frage aus der Pilzwiese: Liegt hier ein Stein?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 2Steine im FinsternÜbung
Dieselben Stollen, jetzt mit Funkensteinen, auf jeder Karte woanders. Sammle sie auf dem Weg zur Lampe alle ein.
Tipp
In die Schleife kommt nach dem Schritt die Frage aus der Pilzwiese: Liegt hier ein Stein?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 2Steine im FinsternÜbung
Dieselben Stollen, jetzt mit Funkensteinen, auf jeder Karte woanders. Sammle sie auf dem Weg zur Lampe alle ein.
Tipp
In die Schleife kommt nach dem Schritt die Frage aus der Pilzwiese: Liegt hier ein Stein?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Um die EckenKnobelei
Diese Stollen biegen mal nach links, mal nach rechts ab. Pip geht, bis on_lamp? wahr ist: geradeaus, solange es geht, und an einer Wand dorthin, wo es weitergeht.
Tipp
An der Wand dreht sich Pip erst nach links. Ist dort auch Wand, geht es rechts weiter: von links aus noch zwei Vierteldrehungen.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Um die EckenKnobelei
Diese Stollen biegen mal nach links, mal nach rechts ab. Pip geht, bis on_lamp() wahr ist: geradeaus, solange es geht, und an einer Wand dorthin, wo es weitergeht.
Tipp
An der Wand dreht sich Pip erst nach links. Ist dort auch Wand, geht es rechts weiter: von links aus noch zwei Vierteldrehungen.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Um die EckenKnobelei
Diese Stollen biegen mal nach links, mal nach rechts ab. Pip geht, bis onLamp() wahr ist: geradeaus, solange es geht, und an einer Wand dorthin, wo es weitergeht.
Tipp
An der Wand dreht sich Pip erst nach links. Ist dort auch Wand, geht es rechts weiter: von links aus noch zwei Vierteldrehungen.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
»Nach rechts abbiegen mit drei Linksdrehungen«, brummt der Wichtel. »Jedes Mal
drei Zeilen. Dafür gibt es Zaubersprüche.«
2. Eigene Zaubersprüche
Ein Zauberspruch ist ein Befehl, den du selbst schreibst: Er bekommt einen
Namen, und was darin steht, macht Pip jedes Mal, wenn der Name im Plan steht.
In der Programmierung heißt so etwas Funktion.
defhopmovemoveendhopturn_lefthop
def hop bis end bringt Pip den Spruch bei; dabei passiert noch nichts.
Erst hop weiter unten führt ihn aus, und zwar zweimal.
defhop():move()move()hop()turn_left()hop()
def hop(): und was darunter eingerückt steht, bringt Pip den Spruch bei;
dabei passiert noch nichts. Erst hop() weiter unten führt ihn aus, und zwar
zweimal.
function hop() { … } bringt Pip den Spruch bei; dabei passiert noch nichts.
Erst hop(); weiter unten führt ihn aus, und zwar zweimal.
Bei den ersten drei Katas ruft die Prüfung deinen Zauberspruch selbst auf, auf
Karten, die sie dafür aufbaut. Was du unter den Spruch schreibst, um ihn
auszuprobieren, lässt sie dabei weg.
Aufgabe 4RechtsherumEinstieg
Schreib den Zauberspruch turn_right: Pip dreht sich eine Vierteldrehung nach rechts. Die Prüfung stellt Pip auf zwei Karten und ruft turn_right auf.
Tipp
Was im Schacht drei Zeilen waren, steht jetzt im Zauberspruch.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 4RechtsherumEinstieg
Schreib den Zauberspruch turn_right(): Pip dreht sich eine Vierteldrehung nach rechts. Die Prüfung stellt Pip auf zwei Karten und ruft turn_right() auf.
Tipp
Was im Schacht drei Zeilen waren, steht jetzt im Zauberspruch.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 4RechtsherumEinstieg
Schreib den Zauberspruch turnRight(): Pip dreht sich eine Vierteldrehung nach rechts. Die Prüfung stellt Pip auf zwei Karten und ruft turnRight() auf.
Tipp
Was im Schacht drei Zeilen waren, steht jetzt im Zauberspruch.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Kehrt!Übung
Noch ein Zauberspruch: turn_around dreht Pip in die Gegenrichtung.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Kehrt!Übung
Noch ein Zauberspruch: turn_around() dreht Pip in die Gegenrichtung.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Kehrt!Übung
Noch ein Zauberspruch: turnAround() dreht Pip in die Gegenrichtung.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Ein Spruch mit ZahlÜbung
walk(n) lässt Pip n Felder vorwärts gehen: walk(3) drei, walk(5) fünf. n ist ein Parameter: Beim Aufruf steht dort eine Zahl, und im Zauberspruch hat n diesen Wert. Du schreibst nur den Spruch; die Prüfung ruft ihn auf drei Karten auf, mit walk(3), walk(5) und walk(1), und jeder Gang ist genau so lang, wie Pip gehen soll.
Tipp
Eine Schleife, die so oft läuft, wie n groß ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Ein Spruch mit ZahlÜbung
walk(n) lässt Pip n Felder vorwärts gehen: walk(3) drei, walk(5) fünf. n ist ein Parameter: Beim Aufruf steht dort eine Zahl, und im Zauberspruch hat n diesen Wert. Du schreibst nur den Spruch; die Prüfung ruft ihn auf drei Karten auf, mit walk(3), walk(5) und walk(1), und jeder Gang ist genau so lang, wie Pip gehen soll.
Tipp
Eine Schleife, die so oft läuft, wie n groß ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Ein Spruch mit ZahlÜbung
walk(n) lässt Pip n Felder vorwärts gehen: walk(3) drei, walk(5) fünf. n ist ein Parameter: Beim Aufruf steht dort eine Zahl, und im Zauberspruch hat n diesen Wert. Du schreibst nur den Spruch; die Prüfung ruft ihn auf drei Karten auf, mit walk(3), walk(5) und walk(1), und jeder Gang ist genau so lang, wie Pip gehen soll.
Tipp
Eine Schleife, die so oft läuft, wie n groß ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7Die TreppeKnobelei
Eine Treppe nach oben: eine Stufe, dann zwei, drei und vier, jede so hoch wie breit. Deine Zaubersprüche stehen schon da; der Plan darunter braucht nur noch eine Schleife.
Tipp
Jede Stufe ist: n Felder geradeaus, links hoch, n Felder, rechts wieder in die alte Richtung. n zählt von 1 bis 4.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7Die TreppeKnobelei
Eine Treppe nach oben: eine Stufe, dann zwei, drei und vier, jede so hoch wie breit. Deine Zaubersprüche stehen schon da; der Plan darunter braucht nur noch eine Schleife.
Tipp
Jede Stufe ist: n Felder geradeaus, links hoch, n Felder, rechts wieder in die alte Richtung. n zählt von 1 bis 4.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7Die TreppeKnobelei
Eine Treppe nach oben: eine Stufe, dann zwei, drei und vier, jede so hoch wie breit. Deine Zaubersprüche stehen schon da; der Plan darunter braucht nur noch eine Schleife.
Tipp
Jede Stufe ist: n Felder geradeaus, links hoch, n Felder, rechts wieder in die alte Richtung. n zählt von 1 bis 4.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
3. Das Labyrinth
Ein Labyrinth hat Gänge, Abzweigungen und Sackgassen. Den Weg kennt niemand,
aber es gibt einen alten Trick: die Hand an der Wand. Wer immer mit derselben
Hand an der Wand bleibt, läuft jeden Gang ab, jede Sackgasse hinein und wieder
heraus, und kommt irgendwann überall vorbei, wo die Wand hinführt.
Aufgabe 8Die Hand an der WandÜbung
Ein kleines Labyrinth. Der Trick des Wichtels: Pip legt die linke Hand an die Wand und nimmt sie nie weg. Bei jedem Schritt dreht sich Pip erst nach links und dann nach rechts, bis vorn frei ist.
Tipp
In der Schleife: einmal turn_left, dann turn_right, solange vorn kein Weg ist, dann ein Schritt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 8Die Hand an der WandÜbung
Ein kleines Labyrinth. Der Trick des Wichtels: Pip legt die linke Hand an die Wand und nimmt sie nie weg. Bei jedem Schritt dreht sich Pip erst nach links und dann nach rechts, bis vorn frei ist.
Tipp
In der Schleife: einmal turn_left(), dann turn_right(), solange vorn kein Weg ist, dann ein Schritt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 8Die Hand an der WandÜbung
Ein kleines Labyrinth. Der Trick des Wichtels: Pip legt die linke Hand an die Wand und nimmt sie nie weg. Bei jedem Schritt dreht sich Pip erst nach links und dann nach rechts, bis vorn frei ist.
Tipp
In der Schleife: einmal turnLeft(), dann turnRight(), solange vorn kein Weg ist, dann ein Schritt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Das LabyrinthKnobelei
Drei Labyrinthe: eines siehst du hier, die anderen zwei baut der Wichtel für dich, jedes Mal dieselben, aber für jede Person andere. Ein Plan für alle.
Tipp
Die Hand an der Wand führt durch jedes Labyrinth, in dem alle Wände zusammenhängen: Pip läuft jede Sackgasse aus und kommt irgendwann an der Lampe vorbei.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Das LabyrinthKnobelei
Drei Labyrinthe: eines siehst du hier, die anderen zwei baut der Wichtel für dich, jedes Mal dieselben, aber für jede Person andere. Ein Plan für alle.
Tipp
Die Hand an der Wand führt durch jedes Labyrinth, in dem alle Wände zusammenhängen: Pip läuft jede Sackgasse aus und kommt irgendwann an der Lampe vorbei.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Das LabyrinthKnobelei
Drei Labyrinthe: eines siehst du hier, die anderen zwei baut der Wichtel für dich, jedes Mal dieselben, aber für jede Person andere. Ein Plan für alle.
Tipp
Die Hand an der Wand führt durch jedes Labyrinth, in dem alle Wände zusammenhängen: Pip läuft jede Sackgasse aus und kommt irgendwann an der Lampe vorbei.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Ausprobieren: Tausche in deinem Plan links und rechts: die
rechte Hand an der Wand. Schau in der Wiedergabe, ob Pip einen anderen Weg
nimmt und ob er kürzer ist.
Aufgabe 10Die InselExtra
In diesem Labyrinth läuft Pip mit der linken Hand an der Wand ewig im Kreis. Probier es aus und finde heraus, warum. Dann bring Pip trotzdem zur Lampe.
Tipp
Die linke Hand bleibt an der Außenwand, und die läuft ringsherum. Die Lampe liegt in der Mitte, an einer Wand, die mit der Außenwand nicht zusammenhängt. Welche Wand hat Pip am Anfang auf der anderen Seite?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 10Die InselExtra
In diesem Labyrinth läuft Pip mit der linken Hand an der Wand ewig im Kreis. Probier es aus und finde heraus, warum. Dann bring Pip trotzdem zur Lampe.
Tipp
Die linke Hand bleibt an der Außenwand, und die läuft ringsherum. Die Lampe liegt in der Mitte, an einer Wand, die mit der Außenwand nicht zusammenhängt. Welche Wand hat Pip am Anfang auf der anderen Seite?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 10Die InselExtra
In diesem Labyrinth läuft Pip mit der linken Hand an der Wand ewig im Kreis. Probier es aus und finde heraus, warum. Dann bring Pip trotzdem zur Lampe.
Tipp
Die linke Hand bleibt an der Außenwand, und die läuft ringsherum. Die Lampe liegt in der Mitte, an einer Wand, die mit der Außenwand nicht zusammenhängt. Welche Wand hat Pip am Anfang auf der anderen Seite?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
4. Drei Hebel
Hinter dem Labyrinth ragen Stacheln aus dem Boden, quer über den Weg; da tritt
Pip nicht drauf. Daneben steht ein Hebel, und
in den Fels hat jemand geritzt: »Dreimal ziehen. Nicht öfter.«
Befehl
Was Pip macht
pull
zieht am Hebel, auf dem Pip steht
on_lever?
fragt: Steht hier ein Hebel?
Befehl
Was Pip macht
pull()
zieht am Hebel, auf dem Pip steht
on_lever()
fragt: Steht hier ein Hebel?
Befehl
Was Pip macht
pull();
zieht am Hebel, auf dem Pip steht
onLever()
fragt: Steht hier ein Hebel?
Aufgabe 11Der HebelEinstieg
Vor der Lampe ragen Stacheln aus dem Boden; darauf tritt Pip nicht. Sie versinken, wenn Pip genau dreimal am Hebel zieht: pull, auf dem Feld des Hebels. Ein vierter Zug lässt sie wieder herausfahren.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 11Der HebelEinstieg
Vor der Lampe ragen Stacheln aus dem Boden; darauf tritt Pip nicht. Sie versinken, wenn Pip genau dreimal am Hebel zieht: pull(), auf dem Feld des Hebels. Ein vierter Zug lässt sie wieder herausfahren.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 11Der HebelEinstieg
Vor der Lampe ragen Stacheln aus dem Boden; darauf tritt Pip nicht. Sie versinken, wenn Pip genau dreimal am Hebel zieht: pull(), auf dem Feld des Hebels. Ein vierter Zug lässt sie wieder herausfahren.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Bei mehreren Hebeln muss Pip sich merken, wie oft schon gezogen wurde. Dafür
gibt es Variablen, wie in den Katas zum Wiederholen:
Auf diesen Karten stehen drei, vier oder fünf Hebel vor den Stacheln, und jeder Zug zählt, egal an welchem. Pip prüft mit on_lever?, ob auf dem Feld ein Hebel steht, und zählt in einer Variable mit, wie oft schon gezogen wurde.
Tipp
pulls fängt bei 0 an. An einem Hebel zieht Pip nur, solange pulls kleiner als 3 ist, und zählt dann eins weiter.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 12Zu viele HebelÜbung
Auf diesen Karten stehen drei, vier oder fünf Hebel vor den Stacheln, und jeder Zug zählt, egal an welchem. Pip prüft mit on_lever(), ob auf dem Feld ein Hebel steht, und zählt in einer Variable mit, wie oft schon gezogen wurde.
Tipp
pulls fängt bei 0 an. An einem Hebel zieht Pip nur, solange pulls kleiner als 3 ist, und zählt dann eins weiter.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 12Zu viele HebelÜbung
Auf diesen Karten stehen drei, vier oder fünf Hebel vor den Stacheln, und jeder Zug zählt, egal an welchem. Pip prüft mit onLever(), ob auf dem Feld ein Hebel steht, und zählt in einer Variable mit, wie oft schon gezogen wurde.
Tipp
pulls fängt bei 0 an. An einem Hebel zieht Pip nur, solange pulls kleiner als 3 ist, und zählt dann eins weiter.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 13GezähltExtra
Der Wichtel will wissen, wie viele Funkensteine in jedem Stollen lagen. Pip sammelt sie bis zur Wand ein, zählt mit und sagt am Ende mit say die Zahl.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 13GezähltExtra
Der Wichtel will wissen, wie viele Funkensteine in jedem Stollen lagen. Pip sammelt sie bis zur Wand ein, zählt mit und sagt am Ende mit say() die Zahl.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 13GezähltExtra
Der Wichtel will wissen, wie viele Funkensteine in jedem Stollen lagen. Pip sammelt sie bis zur Wand ein, zählt mit und sagt am Ende mit say() die Zahl.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
5. Bellos Spur
Hinter den Stacheln riecht es nach nassem Hund. Auf dem Boden sind Pfotenabdrücke,
und hier und da Pfützen.
Befehl
Was Pip macht
puddle_ahead?
fragt: Ist vor Pip eine Pfütze?
trail_ahead?
fragt: Sind auf dem Feld vor Pip Pfotenabdrücke? (Auch Bello selbst zählt.)
bello_here?
fragt: Ist Bello hier?
Zwei Fragen lassen sich verbinden: a && b ist wahr, wenn beide wahr sind
(und), a || b, wenn mindestens eine wahr ist (oder), und !a dreht eine um
(nicht).
Befehl
Was Pip macht
puddle_ahead()
fragt: Ist vor Pip eine Pfütze?
trail_ahead()
fragt: Sind auf dem Feld vor Pip Pfotenabdrücke? (Auch Bello selbst zählt.)
bello_here()
fragt: Ist Bello hier?
Zwei Fragen lassen sich verbinden: a and b ist wahr, wenn beide wahr sind,
a or b, wenn mindestens eine wahr ist, und not a dreht eine um.
Befehl
Was Pip macht
puddleAhead()
fragt: Ist vor Pip eine Pfütze?
trailAhead()
fragt: Sind auf dem Feld vor Pip Pfotenabdrücke? (Auch Bello selbst zählt.)
belloHere()
fragt: Ist Bello hier?
Zwei Fragen lassen sich verbinden: a && b ist wahr, wenn beide wahr sind
(und), a || b, wenn mindestens eine wahr ist (oder), und !a dreht eine um
(nicht).
Aufgabe 14Trockene FüßeÜbung
Bello läuft nie durch Pfützen, und Pip will auch keine nassen Füße. puddle_ahead? sagt, ob vorn eine Pfütze ist. Für Pip zählt eine Pfütze jetzt wie eine Wand: Weiter geht es nur, wo vorn frei ist und keine Pfütze.
Tipp
Die Hand an der Wand, nur die Frage ist länger: front_clear? && !puddle_ahead? heißt »vorn frei und keine Pfütze«. && ist »und«, ! ist »nicht«.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 14Trockene FüßeÜbung
Bello läuft nie durch Pfützen, und Pip will auch keine nassen Füße. puddle_ahead() sagt, ob vorn eine Pfütze ist. Für Pip zählt eine Pfütze jetzt wie eine Wand: Weiter geht es nur, wo vorn frei ist und keine Pfütze.
Tipp
Die Hand an der Wand, nur die Frage ist länger: Pip dreht sich weiter, solange not front_clear() or puddle_ahead() gilt, »vorn Wand oder Pfütze«.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 14Trockene FüßeÜbung
Bello läuft nie durch Pfützen, und Pip will auch keine nassen Füße. puddleAhead() sagt, ob vorn eine Pfütze ist. Für Pip zählt eine Pfütze jetzt wie eine Wand: Weiter geht es nur, wo vorn frei ist und keine Pfütze.
Tipp
Die Hand an der Wand, nur die Frage ist länger: Pip dreht sich weiter, solange !frontClear() || puddleAhead() gilt, »vorn Wand oder Pfütze«. || ist »oder«, ! ist »nicht«.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 15Bellos SpurKnobelei
Auf dem Boden der Höhle: Pfotenabdrücke. trail_ahead? sagt, ob auf dem nächsten Feld welche sind. Wo Bello durch eine Pfütze gelaufen ist, hat das Wasser sie weggewaschen; dort geht die Spur trotzdem weiter. Folge ihr, bis bello_here? wahr ist.
Tipp
Die Spur ist wie ein Gang ohne Wände: Die Hand an der Wand geht auch hier, mit »Spur oder Pfütze vorn« statt »vorn frei«.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 15Bellos SpurKnobelei
Auf dem Boden der Höhle: Pfotenabdrücke. trail_ahead() sagt, ob auf dem nächsten Feld welche sind. Wo Bello durch eine Pfütze gelaufen ist, hat das Wasser sie weggewaschen; dort geht die Spur trotzdem weiter. Folge ihr, bis bello_here() wahr ist.
Tipp
Die Spur ist wie ein Gang ohne Wände: Die Hand an der Wand geht auch hier, mit »Spur oder Pfütze vorn« statt »vorn frei«.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 15Bellos SpurKnobelei
Auf dem Boden der Höhle: Pfotenabdrücke. trailAhead() sagt, ob auf dem nächsten Feld welche sind. Wo Bello durch eine Pfütze gelaufen ist, hat das Wasser sie weggewaschen; dort geht die Spur trotzdem weiter. Folge ihr, bis belloHere() wahr ist.
Tipp
Die Spur ist wie ein Gang ohne Wände: Die Hand an der Wand geht auch hier, mit »Spur oder Pfütze vorn« statt »vorn frei«.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Am Ende der Spur sitzt Bello, nass bis zu den Ohren, und wedelt, als wäre nichts
gewesen. Im Maul hat er einen Funkenstein, den größten, den Pip je gesehen hat.
»Na also«, sagt der Wichtel. »Und jetzt nichts wie raus hier.«
6. Zurück ans Licht
Der Weg nach oben führt durch alles, was Pip unterwegs gelernt hat. Bello
trottet hinterher.
Aufgabe 16Zurück ans LichtKnobelei
Der Weg nach oben: ein langer, gewundener Stollen ohne Abzweigungen, quer durch die Schächte der Glibber. Unterwegs liegen Funkensteine, und vor der Lampe ragen Stacheln aus dem Boden, die nur nach genau drei Zügen versinken, verteilt auf zwei Hebel. Drei Karten, ein Plan.
Tipp
Fang mit dem Plan aus »Um die Ecken« an. Vor jedem Schritt: warten, solange ein Glibber vor Pip ist. Nach jedem Schritt: Stein? Hebel? Und für die Hebel brauchst du wieder eine Variable, die mitzählt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 16Zurück ans LichtKnobelei
Der Weg nach oben: ein langer, gewundener Stollen ohne Abzweigungen, quer durch die Schächte der Glibber. Unterwegs liegen Funkensteine, und vor der Lampe ragen Stacheln aus dem Boden, die nur nach genau drei Zügen versinken, verteilt auf zwei Hebel. Drei Karten, ein Plan.
Tipp
Fang mit dem Plan aus »Um die Ecken« an. Vor jedem Schritt: warten, solange ein Glibber vor Pip ist. Nach jedem Schritt: Stein? Hebel? Und für die Hebel brauchst du wieder eine Variable, die mitzählt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 16Zurück ans LichtKnobelei
Der Weg nach oben: ein langer, gewundener Stollen ohne Abzweigungen, quer durch die Schächte der Glibber. Unterwegs liegen Funkensteine, und vor der Lampe ragen Stacheln aus dem Boden, die nur nach genau drei Zügen versinken, verteilt auf zwei Hebel. Drei Karten, ein Plan.
Tipp
Fang mit dem Plan aus »Um die Ecken« an. Vor jedem Schritt: warten, solange ein Glibber vor Pip ist. Nach jedem Schritt: Stein? Hebel? Und für die Hebel brauchst du wieder eine Variable, die mitzählt.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Oben ist es Nacht, und über Funkelbach leuchten die Sterne. Bello schüttelt
sich, dass das Wasser nur so spritzt. »Gut gemacht«, sagt der Wichtel und
nimmt Pips Laterne. Unten im Stollen brennen jetzt alle alten Lampen.
Die Verbindung zum Server wurde unterbrochen. Bitte lade die Seite neu.