Programmieren für Anfänger mit Blöcken
Kapitel
>
Stufe
Erweiterte Listen und Datenstrukturen
Durch Listen iterieren
Ziel
Sammle alle Materialien im Feld und führe eine Inventur aller gesammelten Gegenstände durch, bevor du sie in speziellen Behältern verstaust.
Ein Sturm hat den Außenposten bei der Brücke zerstört und Materialien überall verstreut. Ich bin sicher, dass diese Materialien später verwendet werden können. Führe eine Inventur über jedes Objekt durch, das du aufhebst, und bringe sie in den Lagerraum jenseits der Brücke.
Sammle zunächst alle im Feld verstreuten Trümmer, nämlich: "branches", "boulders" und "planks". Sobald du alle Gegenstände gesammelt hast, lege sie in einer verschachtelten Listenstruktur (dictionary) namens materials ab und füge alle drei (3) Materialnamen und die entsprechenden Mengen mithilfe des set dict value Blocks hinzu.
Sobald alles in der verschachtelten Listenstruktur abgelegt ist, begebe dich zum hellen X-Symbol und führe eine Inventur aller gesammelten Materialien mit dem for each in dictionary Block in Kombination mit der speak Funktion durch. Dieser spezielle Schleifenblock ermöglicht es dir, über verschachtelte Listenstrukturen (dictionaries) zu iterieren, indem er zwei Variablen bereitstellt: eine für den Schlüssel (name) und eine für den Wert (number).
Verwende den for each in dictionary Block mit den Variablen name und number sowie dem materials dictionary. Innerhalb der Schleife benutze den speak Block zusammen mit einem text join Block, um "There were ", die Variable number, " ", die Variable name und " collected" zu verbinden.
Nachdem du die Inventur durchgeführt hast, gehe zu den dunklen X-Symbolen und lagere die gesammelten Materialien aus der verschachtelten Listenstruktur in Containern mithilfe des place Blocks. Verwende den get dict value Block, um auf jedes Material zuzugreifen, beispielsweise get dict value mit materials und dem Schlüssel "branches", und verbinde ihn anschließend mit dem place Block. Es gibt drei (3) dunkle X-Symbole: Platziere im linken Container die "branches", im mittleren Container die "boulders" und im rechten Container die "planks". Räume alles an der korrekten Position weg, um das Level abzuschließen.