Coding for KidsCoding for Kids
Kreative LevelHerausforderungenLehrerhandbuch
Für Funktionen abstimmen
Fortgeschrittener Python-Entwicklungskurs
Kapitel
>
Stufe

Dekoratoren
Dekoratoren verwenden

Benutzerdefinierte Funktionen haben eine breite Palette an Verwendungsmöglichkeiten, jedoch möchte man manchmal einer bereits vorhandenen Funktion zusätzliche Funktionalität hinzufügen. Dies nennt man einen Dekorator – eine Funktion, die darauf ausgelegt ist, eine bestehende Funktion zu erweitern, daher der Name.

Für dieses Level müssen die Öfen vorbereitet werden, um sie für die Speisenzubereitung startklar zu machen. Verwende Dekoratoren, um open() und close() zwischen dem Nachladen von Brennholz in die Öfen aufzurufen.

Guide

Ziel

Fülle die Öfen mit Brennholz und stelle die Öfen so ein, dass sie für das Kochen vorbereitet werden können, indem du Dekoratoren einsetzt.

Die Backsteinöfen müssen vorbereitet werden, damit du später am Abend Speisen backen kannst. Die Öfen sind ausgeschaltet und leer und benötigen etwas Brennholz, um angezündet zu werden. Schnappe dir ein wenig Brennholz und lade es in die Öfen, damit du mit dem Kochen beginnen kannst. Dies kannst du zwar manuell oder durch eine benutzerdefinierte Funktion tun, aber der Prozess kann durch den Einsatz von Dekoratoren beschleunigt werden.

Dekoratoren sind Zusatzmodule, die einer benutzerdefinierten Funktion hinzugefügt werden können, um deren Funktionalität bei Bedarf zu erweitern, ohne sie mit Bedingungen zu überkomplizieren.

# Decorator, adds extra functionality to another function def load_wood(func): def load(): player.open() func() player.close() return load # Custom function that can be decorated def add_wood(): player.place("firewood") player.speak("Three logs placed in oven") # Decorate the custom function prep_oven = load_wood(add_wood)

Gehe zum Lagerraum am unteren Ende der Karte und sammle alle vier (4) Bündel Holzstämme. Gehe zur goldenen X-Markierung und verwende die read()-Funktion, um den Vermerk an der Tafel abzulesen, der angibt, bei welchen Temperaturen die Öfen eingestellt werden sollen. Notiere dir die Informationen im Pop-up, da du diese später benötigen wirst.

Gehe anschließend zu den leuchtenden X-Markierungen neben dem Ofen und benutze die dekorierte Funktion, um das Brennholz einzulegen, so: prep_oven(). Während du das Brennholz in den Ofen legst, gehe zu den dunklen X-Markierungen auf den farbigen Teppichen und nutze die asynchrone Funktion question(), um die Temperatur der Öfen einzustellen.

Die unterstützende Funktion wird bereits im Voraus eingerichtet und heißt set_temperature(). Deine Antwort auf die Frage bestimmt, ob die Temperatur auf High oder Medium eingestellt wird. Stelle die Temperatur ein, indem du die Funktion schreibst und die Frage mit dem zuvor abgelesenen Vermerk beantwortest, wobei jede Temperatur gemäß dem entsprechenden farbigen Teppich eingestellt wird. Denke daran, await zu verwenden, wenn du asynchrone Funktionen benutzt, so: await set_temperature()

Sobald du alle vier (4) Öfen vorbereitet und eingestellt hast, hast du das Level abgeschlossen.

Codebuch