image: teaser.webp:50:30
icon: /images/pip/icon-pip.png
kind: uebung
duration: 2 Doppelstunden
languages: [ruby, python, javascript]
idea: "Pip mit einem Plan durch die Stollen schicken: Befehle nacheinander, Schleifen, Bedingungen"
curriculum: "Sek I: Algorithmisches Problemlösen (Miniwelten, algorithmische Grundstrukturen: Sequenz, Wiederholung, Verzweigung)"
Pip unter Funkelbach: Hinab in die Stollen
Bello ist in einen Schacht gesprungen und verschwunden. Du schreibst Pip einen
Plan, Befehl für Befehl, und Pip macht genau, was draufsteht: hinunter in die
Stollen, Funkensteine sammeln, an Glibbern vorbei.
Unter Funkelbach liegen alte Stollen. Früher haben die Leute dort Funkensteine
gegraben, Steine, die von selbst leuchten. Eines Abends jagt Bello einem
Glühwürmchen nach, springt in einen Schacht und ist weg. Pip will ihn holen,
aber die Stollen sind eng und finster, und unten hört Pip niemanden mehr.
Der Wichtel hat die alten Karten der Stollen. »Schreib Pip einen Plan«, sagt
er, »Schritt für Schritt. Pip macht genau, was draufsteht. Nicht mehr und
nicht weniger.«
In den Stollen stehen noch die Lampen der alten Steingräber, seit vielen
Jahren dunkel. Jeder Plan bringt Pip zur nächsten. Dort zündet Pip sie mit der
eigenen Laterne an, und der Wichtel zeichnet von ihr aus den nächsten Gang in
seine Karte. So bleibt auch der Weg zurück hell.
1. Der Eingang
Pip steht oben am Eingang zum ersten Stollen und schaut nach unten. Unter der
Karte sind zwei Knöpfe: Vorwärts schickt Pip ein Feld weiter, Links drehen
dreht Pip um eine Vierteldrehung nach links. Jeder Klick schreibt eine Zeile in
den Plan neben der Karte. Gegen eine Wand läuft Pip nicht, und
Rückgängig nimmt die letzte Zeile wieder heraus.
Aufgabe 1Zur ersten LampeEinstieg
Bring Pip mit den Knöpfen zur Lampe und schau zu, wie der Plan mitwächst.
Tipp
Pip schaut nach unten. Wohin schaut Pip nach einer Drehung nach links? Probier es aus: Mit Rückgängig nimmst du jeden Klick wieder heraus.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 1Zur ersten LampeEinstieg
Bring Pip mit den Knöpfen zur Lampe und schau zu, wie der Plan mitwächst.
Tipp
Pip schaut nach unten. Wohin schaut Pip nach einer Drehung nach links? Probier es aus: Mit Rückgängig nimmst du jeden Klick wieder heraus.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 1Zur ersten LampeEinstieg
Bring Pip mit den Knöpfen zur Lampe und schau zu, wie der Plan mitwächst.
Tipp
Pip schaut nach unten. Wohin schaut Pip nach einer Drehung nach links? Probier es aus: Mit Rückgängig nimmst du jeden Klick wieder heraus.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
2. Der Schacht
Ab jetzt schreibst du den Plan selbst, statt zu klicken. Ein Plan ist eine
Liste von Befehlen, einer pro Zeile. Pip führt sie von oben nach unten aus,
einen nach dem anderen. Für den Anfang kennt Pip drei:
Befehl
Was Pip macht
move
geht ein Feld vorwärts, dorthin, wohin Pip schaut
turn_left
dreht sich auf der Stelle um eine Vierteldrehung nach links
say "Bello?"
sagt etwas in einer Sprechblase, ohne einen Schritt zu machen
Befehl
Was Pip macht
move()
geht ein Feld vorwärts, dorthin, wohin Pip schaut
turn_left()
dreht sich auf der Stelle um eine Vierteldrehung nach links
say("Bello?")
sagt etwas in einer Sprechblase, ohne einen Schritt zu machen
Die Klammern gehören dazu: Ohne sie macht Pip nichts.
Befehl
Was Pip macht
move();
geht ein Feld vorwärts, dorthin, wohin Pip schaut
turnLeft();
dreht sich auf der Stelle um eine Vierteldrehung nach links
say("Bello?");
sagt etwas in einer Sprechblase, ohne einen Schritt zu machen
Die Klammern gehören dazu: Ohne sie macht Pip nichts. Das Semikolon am Ende
schließt einen Befehl ab.
Bevor Pip losläuft: Auf dieser Karte schaut Pip nach rechts.
#######
#.....#
#..1..#
#P..2.#
#..3..#
#######
movemoveturn_leftmove
move()move()turn_left()move()
move();move();turnLeft();move();
Vermutung 2Wo steht Pip?
Pip schaut nach rechts. Wo steht Pip nach dem Plan oben?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Pip steht auf Feld 1. Nach zwei Schritten dreht sich Pip nach links, und links ist
immer von Pip aus gesehen: Wer nach rechts schaut, hat links den oberen Rand
der Karte. Der letzte Schritt geht also nach oben. Eine Drehung nach rechts
kennt Pip nicht. Was tut man da?
Aufgabe 3Hinunter zur LampeEinstieg
Unten im Schacht steht die erste alte Lampe. Schreib Pip einen Plan mit move und turn_left, der Pip zur Lampe bringt.
Tipp
Nach zwei Schritten muss Pip nach rechts abbiegen, aber Pip kann sich nur nach links drehen. Wie oft nach links ergibt einmal rechts?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Hinunter zur LampeEinstieg
Unten im Schacht steht die erste alte Lampe. Schreib Pip einen Plan mit move() und turn_left(), der Pip zur Lampe bringt.
Tipp
Nach zwei Schritten muss Pip nach rechts abbiegen, aber Pip kann sich nur nach links drehen. Wie oft nach links ergibt einmal rechts?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Hinunter zur LampeEinstieg
Unten im Schacht steht die erste alte Lampe. Schreib Pip einen Plan mit move() und turnLeft(), der Pip zur Lampe bringt.
Tipp
Nach zwei Schritten muss Pip nach rechts abbiegen, aber Pip kann sich nur nach links drehen. Wie oft nach links ergibt einmal rechts?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Ausprobieren: Schreib vor den ersten Schritt eine Zeile mit
say und einem Gruß an Bello und lass den Plan noch einmal laufen.
Schau auf den Schrittzähler unter der Karte: Zählt die Sprechblase mit?
Unten im Schacht glitzert etwas. Ein neuer Befehl hebt es auf:
Befehl
Was Pip macht
take
hebt den Funkenstein auf, auf dem Pip steht
Befehl
Was Pip macht
take()
hebt den Funkenstein auf, auf dem Pip steht
Befehl
Was Pip macht
take();
hebt den Funkenstein auf, auf dem Pip steht
Aufgabe 4Der erste FunkensteinEinstieg
Auf dem Weg nach unten liegt ein Funkenstein. Pip hebt ihn mit take auf, wenn Pip auf seinem Feld steht. Bring Pip mit dem Stein zur Lampe.
Tipp
Erst auf das Feld des Steins gehen, dann take. Steht Pip daneben, greift Pip ins Leere.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 4Der erste FunkensteinEinstieg
Auf dem Weg nach unten liegt ein Funkenstein. Pip hebt ihn mit take() auf, wenn Pip auf seinem Feld steht. Bring Pip mit dem Stein zur Lampe.
Tipp
Erst auf das Feld des Steins gehen, dann take(). Steht Pip daneben, greift Pip ins Leere.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 4Der erste FunkensteinEinstieg
Auf dem Weg nach unten liegt ein Funkenstein. Pip hebt ihn mit take() auf, wenn Pip auf seinem Feld steht. Bring Pip mit dem Stein zur Lampe.
Tipp
Erst auf das Feld des Steins gehen, dann take(). Steht Pip daneben, greift Pip ins Leere.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
»Ein Funkenstein«, sagt der Wichtel. »Die halten deine Laterne am Brennen. Wo einer
liegt, liegen mehr. Und wo Steine liegen, ist Bello nicht weit: Der buddelt
für sein Leben gern.«
3. Funkensteine
Am Fuß des Schachts geht es in die alten Gänge. Überall liegen Funkensteine,
und Pip soll keinen liegen lassen. Liegt auf einem Feld kein Stein, greift Pip
ins Leere, und der Plan ist zu Ende: Pip geht nur weiter, wenn alles geklappt
hat. Dasselbe gilt für eine Wand.
Aufgabe 5Drei SteineEinstieg
Drei Funkensteine liegen im Stollen. Sammle alle drei ein und bring Pip zur Lampe.
Tipp
Geh den Weg auf der Karte mit dem Finger ab und schreib für jedes Feld auf, was Pip dort tut. Am Ende des Stollens geht es nicht weiter: Pip biegt vorher ab.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Drei SteineEinstieg
Drei Funkensteine liegen im Stollen. Sammle alle drei ein und bring Pip zur Lampe.
Tipp
Geh den Weg auf der Karte mit dem Finger ab und schreib für jedes Feld auf, was Pip dort tut. Am Ende des Stollens geht es nicht weiter: Pip biegt vorher ab.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Drei SteineEinstieg
Drei Funkensteine liegen im Stollen. Sammle alle drei ein und bring Pip zur Lampe.
Tipp
Geh den Weg auf der Karte mit dem Finger ab und schreib für jedes Feld auf, was Pip dort tut. Am Ende des Stollens geht es nicht weiter: Pip biegt vorher ab.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Der lange StollenÜbung
Im langen Stollen liegen elf Funkensteine, einer auf jedem Feld bis zur Lampe. Sammle alle ein.
Tipp
Schreib den Plan Stück für Stück und probier ihn mit Ausführen aus, sobald ein Stück fertig ist. Läuft Pip gegen eine Wand, zeigt die Wiedergabe, in welcher Zeile.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Der lange StollenÜbung
Im langen Stollen liegen elf Funkensteine, einer auf jedem Feld bis zur Lampe. Sammle alle ein.
Tipp
Schreib den Plan Stück für Stück und probier ihn mit Ausführen aus, sobald ein Stück fertig ist. Läuft Pip gegen eine Wand, zeigt die Wiedergabe, in welcher Zeile.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Der lange StollenÜbung
Im langen Stollen liegen elf Funkensteine, einer auf jedem Feld bis zur Lampe. Sammle alle ein.
Tipp
Schreib den Plan Stück für Stück und probier ihn mit Ausführen aus, sobald ein Stück fertig ist. Läuft Pip gegen eine Wand, zeigt die Wiedergabe, in welcher Zeile.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
»Elf Steine«, sagt der Wichtel und zählt nach. »Und elfmal hast du dasselbe
geschrieben: einen Schritt, einen Griff. Das geht kürzer. Komm, ich zeig dir
die Wendeltreppe.«
Wer noch Zeit hat: Der Wichtel hat sich verschrieben.
Aufgabe 7FehlersucheExtra
Der Wichtel hat einen Plan geschrieben, aber Pip läuft damit gegen eine Wand. Lass ihn mit Ausführen laufen, such die falsche Stelle und repariere sie, sodass Pip alle Steine einsammelt und zur Lampe kommt.
Tipp
Die Rückmeldung nennt die Zeile, in der Pip gegen die Wand läuft. Der Fehler steht kurz davor: In welche Richtung schaut Pip dort, und in welche sollte Pip schauen?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7FehlersucheExtra
Der Wichtel hat einen Plan geschrieben, aber Pip läuft damit gegen eine Wand. Lass ihn mit Ausführen laufen, such die falsche Stelle und repariere sie, sodass Pip alle Steine einsammelt und zur Lampe kommt.
Tipp
Die Rückmeldung nennt die Zeile, in der Pip gegen die Wand läuft. Der Fehler steht kurz davor: In welche Richtung schaut Pip dort, und in welche sollte Pip schauen?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7FehlersucheExtra
Der Wichtel hat einen Plan geschrieben, aber Pip läuft damit gegen eine Wand. Lass ihn mit Ausführen laufen, such die falsche Stelle und repariere sie, sodass Pip alle Steine einsammelt und zur Lampe kommt.
Tipp
Die Rückmeldung nennt die Zeile, in der Pip gegen die Wand läuft. Der Fehler steht kurz davor: In welche Richtung schaut Pip dort, und in welche sollte Pip schauen?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
4. Die Wendeltreppe
Was sich wiederholt, schreibt man einmal und lässt es wiederholen. Eine
Schleife macht das:
4.timesdomoveturn_leftend
Was zwischen do und end steht, macht Pip viermal hintereinander. Die
Befehle darin sind eingerückt, damit man sieht, was zur Schleife gehört.
foriinrange(4):move()turn_left()
Was unter for i in range(4): eingerückt steht, macht Pip viermal
hintereinander. Der Doppelpunkt und die Einrückung gehören dazu: Daran sieht
Python, was zur Schleife gehört.
for (leti=0;i<4;i++){move();turnLeft();}
Was zwischen den geschweiften Klammern steht, macht Pip viermal
hintereinander. Die Zählvariable i fängt bei 0 an, und nach jedem
Durchlauf zählt i++ eins weiter, solange i < 4 gilt: 0, 1, 2, 3.
Aufgabe 8Vier WändeEinstieg
In diesem Raum liegt an jeder Wand ein Funkenstein, an jeder an derselben Stelle. Pip macht an jeder Wand dasselbe: Schreib es einmal in die Schleife, und Pip wiederholt es viermal.
Tipp
Schau dir die erste Wand an: Wie viele Schritte bis zum Stein, wie viele danach bis zur Ecke? An der Ecke dreht sich Pip nach links.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 8Vier WändeEinstieg
In diesem Raum liegt an jeder Wand ein Funkenstein, an jeder an derselben Stelle. Pip macht an jeder Wand dasselbe: Schreib es einmal in die Schleife, und Pip wiederholt es viermal.
Tipp
Schau dir die erste Wand an: Wie viele Schritte bis zum Stein, wie viele danach bis zur Ecke? An der Ecke dreht sich Pip nach links.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 8Vier WändeEinstieg
In diesem Raum liegt an jeder Wand ein Funkenstein, an jeder an derselben Stelle. Pip macht an jeder Wand dasselbe: Schreib es einmal in die Schleife, und Pip wiederholt es viermal.
Tipp
Schau dir die erste Wand an: Wie viele Schritte bis zum Stein, wie viele danach bis zur Ecke? An der Ecke dreht sich Pip nach links.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Acht in einer ReiheÜbung
Acht Steine in einer Reihe. Sammle sie mit einer Schleife ein, nicht mit sechzehn Zeilen.
Tipp
Was wiederholt sich? Ein Schritt und ein Griff, achtmal.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Acht in einer ReiheÜbung
Acht Steine in einer Reihe. Sammle sie mit einer Schleife ein, nicht mit sechzehn Zeilen.
Tipp
Was wiederholt sich? Ein Schritt und ein Griff, achtmal.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Acht in einer ReiheÜbung
Acht Steine in einer Reihe. Sammle sie mit einer Schleife ein, nicht mit sechzehn Zeilen.
Tipp
Was wiederholt sich? Ein Schritt und ein Griff, achtmal.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Bei der Wendeltreppe wird jedes Stück ein Feld länger. Dafür zählt die
Schleife mit:
(1..3).eachdo|side|saysideend
side ist die Zählvariable: im ersten Durchlauf 1, dann 2, dann 3. Pip sagt
der Reihe nach 1, 2, 3. Und side.times do … end wiederholt so oft, wie
side gerade groß ist.
forsideinrange(1,4):say(side)
side ist die Zählvariable: im ersten Durchlauf 1, dann 2, dann 3. Die 4 ist
die erste Zahl, die nicht mehr dran ist. Pip sagt der Reihe nach 1, 2, 3. Und
for step in range(side): wiederholt so oft, wie side gerade groß ist.
for (letside=1;side<=3;side++){say(side);}
side ist die Zählvariable: im ersten Durchlauf 1, dann 2, dann 3. Pip sagt
der Reihe nach 1, 2, 3. Und eine Schleife mit step < side darin wiederholt
so oft, wie side gerade groß ist.
Aufgabe 10Die WendeltreppeKnobelei
Die Wendeltreppe windet sich von der Mitte nach außen: erst ein Feld, dann zwei, dann drei, bis sechs, und nach jedem Stück eine Linksdrehung. Auf jedem Feld liegt ein Stein.
Tipp
Als lange Liste wären es über vierzig Zeilen. Die Stücke unterscheiden sich nur in der Länge: 1, 2, 3, 4, 5, 6.
Nächster Tipp
Eine Schleife mit Zählvariable: (1..6).each do |side| … end. Darin wiederholt side.times do … end so oft, wie das Stück gerade lang ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 10Die WendeltreppeKnobelei
Die Wendeltreppe windet sich von der Mitte nach außen: erst ein Feld, dann zwei, dann drei, bis sechs, und nach jedem Stück eine Linksdrehung. Auf jedem Feld liegt ein Stein.
Tipp
Als lange Liste wären es über vierzig Zeilen. Die Stücke unterscheiden sich nur in der Länge: 1, 2, 3, 4, 5, 6.
Nächster Tipp
Eine Schleife mit Zählvariable: for side in range(1, 7):. Darin wiederholt for step in range(side): so oft, wie das Stück gerade lang ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 10Die WendeltreppeKnobelei
Die Wendeltreppe windet sich von der Mitte nach außen: erst ein Feld, dann zwei, dann drei, bis sechs, und nach jedem Stück eine Linksdrehung. Auf jedem Feld liegt ein Stein.
Tipp
Als lange Liste wären es über vierzig Zeilen. Die Stücke unterscheiden sich nur in der Länge: 1, 2, 3, 4, 5, 6.
Nächster Tipp
Eine Schleife mit Zählvariable: for (let side = 1; side <= 6; side++) { … }. Darin wiederholt for (let step = 0; step < side; step++) so oft, wie das Stück gerade lang ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Unten an der Treppe hört Pip etwas. Ganz leise, von weit weg: »Wuff!« Der
Wichtel spitzt die Ohren. »Von unten«, sagt er. »Durch die Pilzwiese.«
Aufgabe 11Die Wendeltreppe in sieben ZeilenExtra
Dieselbe Wendeltreppe, aber der Plan hat höchstens sieben Zeilen. Kommentare und leere Zeilen zählen nicht mit.
Tipp
Zwei Schleifen ineinander: Die äußere zählt die Länge des Stücks mit, die innere läuft so oft, wie das Stück lang ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 11Die Wendeltreppe in sieben ZeilenExtra
Dieselbe Wendeltreppe, aber der Plan hat höchstens sieben Zeilen. Kommentare und leere Zeilen zählen nicht mit.
Tipp
Zwei Schleifen ineinander: Die äußere zählt die Länge des Stücks mit, die innere läuft so oft, wie das Stück lang ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 11Die Wendeltreppe in sieben ZeilenExtra
Dieselbe Wendeltreppe, aber der Plan hat höchstens sieben Zeilen. Kommentare und leere Zeilen zählen nicht mit.
Tipp
Zwei Schleifen ineinander: Die äußere zählt die Länge des Stücks mit, die innere läuft so oft, wie das Stück lang ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
5. Die Pilzwiese
Unter der Treppe öffnet sich eine Höhle, in der Pilze leuchten. Wer hier
nichts übersehen will, geht die Wiese in Schlangenlinien ab: eine Reihe hin,
die nächste zurück.
Aufgabe 12Reihe für ReiheÜbung
Auf der Pilzwiese liegt auf jedem Feld ein Funkenstein. Geh sie in Schlangenlinien ab, Reihe für Reihe, und sammle alle ein. Die Lampe steht am Ende der letzten Reihe.
Tipp
Zwei Reihen hin und zurück sind ein Stück, das sich wiederholt: hin, links hoch, zurück, rechts hoch. Rechts ist dreimal links. Und sobald Pip die Lampe erreicht, ist der Plan zu Ende, auch mitten in der Schleife.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 12Reihe für ReiheÜbung
Auf der Pilzwiese liegt auf jedem Feld ein Funkenstein. Geh sie in Schlangenlinien ab, Reihe für Reihe, und sammle alle ein. Die Lampe steht am Ende der letzten Reihe.
Tipp
Zwei Reihen hin und zurück sind ein Stück, das sich wiederholt: hin, links hoch, zurück, rechts hoch. Rechts ist dreimal links. Und sobald Pip die Lampe erreicht, ist der Plan zu Ende, auch mitten in der Schleife.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 12Reihe für ReiheÜbung
Auf der Pilzwiese liegt auf jedem Feld ein Funkenstein. Geh sie in Schlangenlinien ab, Reihe für Reihe, und sammle alle ein. Die Lampe steht am Ende der letzten Reihe.
Tipp
Zwei Reihen hin und zurück sind ein Stück, das sich wiederholt: hin, links hoch, zurück, rechts hoch. Rechts ist dreimal links. Und sobald Pip die Lampe erreicht, ist der Plan zu Ende, auch mitten in der Schleife.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Auf der echten Wiese liegen die Steine nicht überall, und jede Karte des
Wichtels zeigt sie woanders. Ein Plan, der nur auf eine Karte passt, greift auf
der nächsten ins Leere. Pip kann nachsehen, bevor Pip zugreift:
takeifon_stone?
on_stone? ist eine Frage an die Karte: Liegt hier ein Stein? Die Antwort ist
true oder false, und nur bei true macht Pip take. Das Fragezeichen
gehört zum Namen; in Ruby enden Fragen so.
ifon_stone():take()
on_stone() ist eine Frage an die Karte: Liegt hier ein Stein? Die Antwort
ist True oder False, und nur bei True macht Pip, was unter dem if
eingerückt steht.
if (onStone()){take();}
onStone() ist eine Frage an die Karte: Liegt hier ein Stein? Die Antwort ist
true oder false, und nur bei true macht Pip, was in den geschweiften
Klammern steht.
Aufgabe 13Mal hier, mal daKnobelei
Auf der Wiese liegen die Steine nicht mehr überall, und der Wichtel hat drei Karten, auf jeder liegen sie woanders. Ein Plan für alle drei: Pip prüft mit on_stone?, ob auf dem Feld ein Stein liegt, und hebt ihn nur dann auf.
Tipp
Dein Plan von »Reihe für Reihe« passt fast: Wo dort take steht, nimmt Pip jetzt nur auf, wenn on_stone? wahr ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 13Mal hier, mal daKnobelei
Auf der Wiese liegen die Steine nicht mehr überall, und der Wichtel hat drei Karten, auf jeder liegen sie woanders. Ein Plan für alle drei: Pip prüft mit on_stone(), ob auf dem Feld ein Stein liegt, und hebt ihn nur dann auf.
Tipp
Dein Plan von »Reihe für Reihe« passt fast: Wo dort take() steht, nimmt Pip jetzt nur auf, wenn on_stone() wahr ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 13Mal hier, mal daKnobelei
Auf der Wiese liegen die Steine nicht mehr überall, und der Wichtel hat drei Karten, auf jeder liegen sie woanders. Ein Plan für alle drei: Pip prüft mit onStone(), ob auf dem Feld ein Stein liegt, und hebt ihn nur dann auf.
Tipp
Dein Plan von »Reihe für Reihe« passt fast: Wo dort take() steht, nimmt Pip jetzt nur auf, wenn onStone() wahr ist.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
6. Glibber!
Hinter der Wiese wird es feucht. Etwas Blaues wabert quer durch den Stollen,
hin und her, ein Feld pro Schritt, und kehrt an der Wand um: ein Glibber. Wen
er erwischt, der klebt fest. Pip kann warten, bis er vorbei ist; Warten ist
auch ein Schritt, nur ohne Weg:
Befehl
Was Pip macht
wait
bleibt einen Schritt lang stehen
glibber_ahead?
fragt: Ist auf dem nächsten Feld ein Glibber, oder kommt gleich einer hin?
Befehl
Was Pip macht
wait()
bleibt einen Schritt lang stehen
glibber_ahead()
fragt: Ist auf dem nächsten Feld ein Glibber, oder kommt gleich einer hin?
Befehl
Was Pip macht
wait();
bleibt einen Schritt lang stehen
glibberAhead()
fragt: Ist auf dem nächsten Feld ein Glibber, oder kommt gleich einer hin?
Aufgabe 14Der GlibberÜbung
Ein Glibber wabert quer durch den Stollen, auf und ab, ein Feld pro Schritt. Mit wait bleibt Pip einen Schritt lang stehen. Bring Pip zur Lampe, ohne dass der Glibber Pip erwischt.
Tipp
Lass Pip erst einfach geradeaus laufen und schau in der Wiedergabe, wo sich beide treffen. Ein oder zwei wait an der richtigen Stelle, und der Glibber ist schon vorbei.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 14Der GlibberÜbung
Ein Glibber wabert quer durch den Stollen, auf und ab, ein Feld pro Schritt. Mit wait() bleibt Pip einen Schritt lang stehen. Bring Pip zur Lampe, ohne dass der Glibber Pip erwischt.
Tipp
Lass Pip erst einfach geradeaus laufen und schau in der Wiedergabe, wo sich beide treffen. Ein oder zwei wait() an der richtigen Stelle, und der Glibber ist schon vorbei.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 14Der GlibberÜbung
Ein Glibber wabert quer durch den Stollen, auf und ab, ein Feld pro Schritt. Mit wait() bleibt Pip einen Schritt lang stehen. Bring Pip zur Lampe, ohne dass der Glibber Pip erwischt.
Tipp
Lass Pip erst einfach geradeaus laufen und schau in der Wiedergabe, wo sich beide treffen. Ein oder zwei wait() an der richtigen Stelle, und der Glibber ist schon vorbei.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Auf einer Karte kann man abzählen, wann der Glibber wo ist. Auf drei Karten
mit verschiedenen Anfängen nicht mehr. Dann entscheidet Pip bei jedem Schritt
neu, mit einem if und einem else für den anderen Fall:
ifglibber_ahead?say"Iiih!"elsesay"Frei!"end
ifglibber_ahead():say("Iiih!")else:say("Frei!")
if (glibberAhead()){say("Iiih!");}else{say("Frei!");}
Aufgabe 15Glibber überallKnobelei
Zwei Glibber, und auf den drei Karten des Wichtels fangen sie an verschiedenen Stellen an. Abzählen hilft nicht mehr. glibber_ahead? sagt, ob auf dem nächsten Feld ein Glibber ist oder gleich einer hinkommt: Dann wartet Pip, sonst geht Pip weiter.
Tipp
In jedem Durchlauf der Schleife entscheidet Pip neu: warten oder gehen. Wie oft die Schleife läuft, ist egal, wenn es oft genug ist: An der Lampe ist Schluss.
Nächster Tipp
if glibber_ahead? … else … end in einer Schleife.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 15Glibber überallKnobelei
Zwei Glibber, und auf den drei Karten des Wichtels fangen sie an verschiedenen Stellen an. Abzählen hilft nicht mehr. glibber_ahead() sagt, ob auf dem nächsten Feld ein Glibber ist oder gleich einer hinkommt: Dann wartet Pip, sonst geht Pip weiter.
Tipp
In jedem Durchlauf der Schleife entscheidet Pip neu: warten oder gehen. Wie oft die Schleife läuft, ist egal, wenn es oft genug ist: An der Lampe ist Schluss.
Nächster Tipp
if glibber_ahead(): und else: in einer Schleife.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 15Glibber überallKnobelei
Zwei Glibber, und auf den drei Karten des Wichtels fangen sie an verschiedenen Stellen an. Abzählen hilft nicht mehr. glibberAhead() sagt, ob auf dem nächsten Feld ein Glibber ist oder gleich einer hinkommt: Dann wartet Pip, sonst geht Pip weiter.
Tipp
In jedem Durchlauf der Schleife entscheidet Pip neu: warten oder gehen. Wie oft die Schleife läuft, ist egal, wenn es oft genug ist: An der Lampe ist Schluss.
Nächster Tipp
if (glibberAhead()) { … } else { … } in einer Schleife.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Hinter dem letzten Glibber leuchtet die nächste Lampe auf, und daneben, im Staub: ein
Pfotenabdruck. Noch einer. Eine ganze Spur, die tiefer in die Stollen führt.
»Bello«, sagt Pip. Der Wichtel nickt. »Morgen. Für heute hast du genug Glibber
gesehen.«
Die Verbindung zum Server wurde unterbrochen. Bitte lade die Seite neu.