Synthese-Projekt: Kontrollstrukturen & Listen

Das Text-Adventure

Fortschritt:
PHASE 1

Discovery & Checkpoint

Video & Einstieg
Verständnis-Check Beantworte die Frage zum Video

Gegeben ist folgender Programmausschnitt:

hp = 30
inventar = ["Fackel", "Heiltrank"]

if "Rostiger Schlüssel" in inventar:
  print("Tor entriegelt!")
else:
  hp = hp - 14
  print("Falle ausgelöst!")

Welche Ausgabe erscheint auf der Konsole und welchen Wert hat hp danach?

PHASE 2

Parsons Puzzle

Struktur & Logik
Aufgabe Bringe die Bausteine per Drag & Drop in Reihenfolge

Bringe die Code-Blöcke in die richtige Reihenfolge und rücke sie passend ein (2 Leerzeichen):
1. Das leere Inventar anlegen.
2. Den Fundgegenstand 'Rostiger Schlüssel' zur Liste hinzufügen.
3. Mit if ... in ... prüfen, ob der Gegenstand im Inventar liegt.
4. Eingerückt die Meldung 'Tor geöffnet!' ausgeben.
5. Den Inhalt des Inventars auf der Konsole ausgeben.

Tipp: Benutze die Anfasser zum Verschieben und ⇥- / ⇥+ zum Einrücken.

Dein Programm (Lösung) Hier die Zeilen in die richtige Reihenfolge bringen
Aussortierte Bausteine (Distraktoren) Hierhin fehlerhafte / nicht benötigte Zeilen ziehen
PHASE 3

Scaffolding & Bugfix

Geführte Praxis
Aufgabe Finde und behebe die Fehler im Code

Im folgenden Spielablauf stecken zwei typische Logikfehler:
1. In der Schleife wird hp mit dem Schaden überschrieben, anstatt ihn abzuziehen (nutze z. B. -=).
2. Bei Erreichen von 0 HP läuft die while-Schleife endlos weiter, weil die Kontrollvariable laeuft nicht auf False gesetzt wird.

Korrigiere beide Fehler mit jeweils 2 Leerzeichen Einrückung!

Tipp: Passe den Code im Editor an und klicke auf „Ausführen & Prüfen“.

script.py
Python 3.11
Konsole (Output)

                    

Musterlösung:
hp = 30
schaden = 14
laeuft = True

while laeuft:
  hp -= schaden
  print("Autsch! Verbleibende HP:", hp)
  
  if hp <= 0:
    print("Game Over!")
    laeuft = False
PHASE 4

Coding Challenge

Eigenständiges Coden
Ziel-Aufgabe Löse die Aufgabe und bestehe alle Tests

Erstelle das Entscheidungsskript für den Dungeon:

1. Erstelle die Variable hp mit dem Wert 30.
2. Erstelle eine Liste inventar mit dem Element ["Rostiger Schlüssel"].
3. Ziehe von hp den Fallenschaden 14 ab (z. B. mit -=).
4. Prüfe mit einer if/else-Verzweigung:
   - Falls 'Rostiger Schlüssel' in inventar vorhanden ist:
     Gib exakt aus: Status: Schatten-Sumpf gemeistert mit HP: <hp>
   - Andernfalls:
     Gib exakt aus: Status: Verloren im Schatten-Sumpf

Tipp: Schreibe deinen Code in den Editor und klicke auf „Code testen“.

solution.py
Python 3.11
Konsole (Output)

                    

Test-Suite

⚠️

Musterlösung:
# 1. Variablen initialisieren
hp = 30
inventar = ["Rostiger Schlüssel"]

# 2. Schaden abziehen
hp -= 14

# 3. Inventar prüfen und Status ausgeben
if "Rostiger Schlüssel" in inventar:
  print("Status: Schatten-Sumpf gemeistert mit HP:", hp)
else:
  print("Status: Verloren im Schatten-Sumpf")
PHASE 5

Das modulare Text-Adventure

Kreatives Sandbox-Labor
Freies Experimentieren Erweitere deinen Code nach deinen eigenen Ideen

Erweitere dein Dungeon-Abenteuer zu einem interaktiven Mini-RPG!
Mögliche Ideen:
- Nutze input("Aktion: "), um zwischen 'erkunden', 'rasten' und 'fliehen' zu wählen.
- Füge Heiltränke hinzu, die mit inventar.remove(...) verbraucht werden und HP regenerieren.
- Baue eine Begegnung mit dem Endgegner Knochenkönig ein!

Tipp: Passe den Code an, führe ihn aus oder lade dein fertiges Programm als Python-Datei herunter.

programm.py
Python 3.11
Konsole (Output)

                    

Lektion vollständig abgeschlossen!

Du hast alle Phasen gemeistert und kannst hier im Sandbox-Labor frei weiterprogrammieren.

Zur Übersicht →
Lektion beendet
>_

Benutzereingabe (input)

Dein Python-Programm wartet auf eine Eingabe

Tippe deine Eingabe ein und drücke Enter ↵ oder klicke auf Absenden.