Anfängerprogrammierung mit Blöcken
Kapitel 6
>
Stufe 3
Ziel
Finde heraus, ob Zutaten in Behältern gelagert sind, und kombiniere sie, um Essen zuzubereiten.
Du benötigst mehrere Zutaten, um einen Salat zuzubereiten, aber du musst sie zuerst einsammeln. Auf dem Feld findest du Karotten, Tomaten, Salat und Gurken. Karotten und Gurken sind jedoch eingelagert. Sammle die Gegenstände, die du im Garten rechts greifen kannst.
Um die fehlenden Zutaten zu finden, begeb dich zu den goldenen X-Markierungen vor den Behältern und überprüfe Bedingungen, um festzustellen, ob sich die Zutaten in einem Behälter befinden. Sobald du die goldene X-Markierung erreicht hast, dreh dich nach links, sodass du in den Flur blickst, um eine Schleife auszuführen. Verwende einen for-Schleifenblock, um den Vorgang des Einsammelns zu beschleunigen und effizienter zu gestalten. Aktiviere den deaktivierten Block im Block-Editor.

Die Kisten im Lagerraum enthalten Gegenstände. Diese Gegenstände werden durch eine Listen-Konstante namens bag dargestellt, sie enthält vier (4) Elemente, eines für jede Kiste. Verwende den for-Schleifenblock mit einer Variablen x, die von 0 bis 4 läuft. Innerhalb der Schleife gibt es zwei if-Blöcke, um zu prüfen, ob "carrot" oder "cucumber" in der bag-Konstante enthalten sind.

Ziehe den in list-Block aus dem lists-Menü in den comparison-Block innerhalb des if-Blocks. Füge die Listen-Konstante bag in den ersten Slot ein, um zu prüfen, ob sich die Zutaten in den Kisten befinden, stelle das erste Dropdown-Menü auf get und das zweite auf #. Füge schließlich die Variable x aus dem Variables-Menü in den letzten Slot ein. Diese Kombination aus Blöcken durchsucht die bag-Liste anhand der Anzahl der Durchläufe, die die Schleife durch die Variable x definiert, wobei x angibt, vor welcher Kiste du stehst.

Diese in list-Blockfolge wird vier (4) Mal in den beiden if-Blöcken verwendet. Im ersten if-Block platziere den in list-Block in den comparison-Block, setze ihn auf = und schreibe im string-Block das Wort "cucumber". Füge im collect-Block einen weiteren in list-Block ein, um eine Gurke zu sammeln, falls sie in der Kiste vorhanden ist.

Im zweiten if-Block verwende die gleiche Struktur wie im ersten, schreibe jedoch im string-Block "carrot". Diese beiden if-Blöcke innerhalb der for-Schleife lassen deinen Charakter alle vier (4) Kisten nacheinander überprüfen, prüfen, ob sie jeweils eine "cucumber" oder eine "carrot" enthalten, und sammeln sie dann ein.

Sobald du alle Gegenstände gesammelt hast, speichere sie in einer Liste namens items mithilfe des create empty list-Blocks. Verwende dazu einen set variable-Block, füge die Variable items hinzu und setze den create empty list-Block aus dem lists-Menü ein.

Im Editor befinden sich deaktivierte insert list-Blöcke zum Einfügen von Gegenständen in die Liste items. Aktiviere sie und trage numerische Werte ein, die den gesammelten Gegenständen entsprechen, indem du die Zahlenblase am Ende des Blocks bearbeitest. Die Reihenfolge der Gegenstände lautet wie folgt: "carrots", "tomato", "lettuce", "cucumber" – füge die entsprechenden Werte für jedes Element ein.

Gehe abschließend zur hellen X-Markierung und kombiniere alle Gegenstände mit dem combine-Block, um eine Mahlzeit zuzubereiten. Füge dazu die Liste items in den combine-Block ein, um das gesamte Gemüse in den Salatbehälter zu legen und die Stufe abzuschließen.