Programmieren für Einsteiger mit Blöcken
Kapitel 4
>
Stufe 4
Ziel
Sammle die Körner und finde mit nicht mehr als vier (4) Blöcken den Weg aus dem Labyrinth.
Du hast dich mitten in einem Labyrinth verlaufen. Verwende Schleifen, um die Körner im Feld zu sammeln und das Labyrinth zu verlassen.
Wie du auf der Karte sehen kannst, ist das Labyrinth ungleichmäßig, sodass du nicht einfach dieselbe Bewegung wie in den vorherigen Leveln wiederholen kannst. Dafür musst du die Variable des for-Schleifenblocks vollständig nutzen.
Verwende den for-Schleifenblock mit einer Variable namens x, die überprüft, wie viele Durchläufe die Schleife bereits durchlaufen hat. Setze den Startwert auf 0 und das Ende auf eine Zahl (z. B. 11). Das by 1 am Ende gibt an, um wie viele Einheiten die Schleife jeweils erhöht wird. Im folgenden Beispiel startet die Schleife bei 0 und erhöht sich in Schritten von 1, bis sie 11 erreicht.

Wir werden die Schleife nutzen, um die Anzahl der Schritte, die du in jedem Zyklus ausführst, zu erhöhen, damit du ans Ende gelangst. Dafür verwenden wir den operator-Block zusammen mit dem move forward-Block, um bei jedem Durchlauf einen Schritt mehr zu gehen. Ziehe dazu den operator-Block aus dem Math-Menü per Drag & Drop in den move forward-Block und füge die eigenständige Variable X aus dem Variablen-Menü hinzu.

Wir stellen den Operator auf Addition + und die Zahl auf 1, damit die Anzahl der Schritte, die der Spieler in jedem Schleifendurchlauf macht, jeweils um eins zunimmt. In der Praxis sieht das so aus:
- Erster Durchlauf:
xist0(x + 1 = 1), der Spieler macht1Schritt - Zweiter Durchlauf:
xist1(x + 1 = 2), der Spieler macht2Schritte - Dritter Durchlauf:
xist2(x + 1 = 3), der Spieler macht3Schritte
Und so weiter –
Da das Labyrinth erfordert, dass du die Richtung änderst, verwende am Ende der Schleife den turn left-Block, damit du nach jedem Zug die Richtung wechselst. Damit kannst du alle Körner auf der Karte einsammeln und das Level abschließen.

Denke daran, dass du nicht mehr als vier (4) Blöcke verwenden darfst.