Deine Aufgabe: Bringe jedes Ei zurück in die passende Umgebung. Achte auf Muster, Farben und Energiesignale – sie verraten dir oft den richtigen Ort. Wenn du die Zuordnung korrekt triffst, beginnen die Eier zu glühen, und der Element-Code pulsiert wieder im Rhythmus der Welt. So stabilisiert sich das Netzwerk von Codemondo Schritt für Schritt.




















Eine Klasse ist wie ein Bauplan. Sie beschreibt, welche Eigenschaften (Attribute) und Fähigkeiten (Methoden) ein Objekt haben wird — ähnlich wie ein Steckbrief für ein neues Gerät, in dem schon festgelegt ist, welche Funktionen es haben soll, noch bevor das Gerät überhaupt gebaut wird.
Stelle dir vor, du findest ein mysteriöses Ei im Wald. Was würdest du über das Wesen wissen wollen, das daraus schlüpft?
+ public — von überall zugänglich
- private — nur innerhalb der Klasse
# protected — Klasse + Unterklassen
Der Konstruktor braucht zwei Informationen: 1. Den Namen des Wesens (z.B. "Flamox") 2. Eine Liste der möglichen Typen, aus der zufällig ein Typ gewählt wird.
Welche Parameter sind für den Konstruktor verpflichtend?
name und typenlistenamename, hunger, alter, level, typ, typenliste)typenliste
__init__ ist der Konstruktor
Wird automatisch bei obj = Klasse() aufgerufen
Initialisiert alle Attribute mit Startwerten
Der Konstruktor __init__ wird automatisch aufgerufen, sobald du ein Objekt der Klasse erzeugst.
Du schreibst also nicht __init__ direkt, sondern erstellst ein Objekt mit Klassenname und Parametern.
Funktionen im UML (z. B. __init__) kannst du anklicken, um den Quellcode direkt darunter einzublenden.
Auch die Objekte rechts sind anklickbar, um den zugehoerigen Quellcode darunter anzuzeigen.
Lege dir von jedem Typ mindestens ein Objekt an: Feuer, Wasser, Luft und Erde. Insgesamt sind maximal 5 Objekte erlaubt.
Als du heute den Kreaturenstall betrittst, blickt dich dein Codemon nur noch müde an. Sein Leuchten ist schwächer als sonst und jeder Schritt wirkt schwer.
Keine Panik: Mit sauberem OOP-Code kannst du helfen. Wir lesen jetzt die Lebenswerte aus, prüfen die Vitalwerte und entscheiden danach, was dein Codemon braucht.
Ein Getter ist eine Methode, die einen Wert aus einem privaten Attribut zurückgibt, ohne dass man direkt von außen auf das Attribut zugreift.
Beispiel: In einer ganz anderen Klasse könnte ein Getter den Buchtitel liefern.
Aufbau: 1) Methodenname get_... mit self im Kopf,
2) darunter eine return-Zeile, die genau das private Attribut zurückgibt.
Das kritische Attribut war __hunger. Genau dieser Wert erklärt, warum das Codemon geschwächt wirkt.
Attributwerte werden kontrolliert über Setter verändert, z. B. mit einer Methode wie set_hunger(...).
Setter definierst du nur dann, wenn ein Wert wirklich von außen veränderbar sein soll. Dabei sind Prüfungen auf sinnvolle Werte wichtig,
zum Beispiel Grenzen wie 0 bis 100 für Hunger oder nur erlaubte Typen für Textwerte.