Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Übung 1

Heinrich-Heine-Universität Düsseldorf

Diese Aufgaben sind gedacht zur Bearbeitung während der Präsenzübung am Dienstag.

Eine Abgabe der Lösungen ist nicht vorgesehen, aber viermal im Semester muss die eigene Bearbeitung erklärt werden (und zufriedenstellend Verständnis demonstriert werden), damit das Modul abgeschlossen werden kann. Ist diese Voraussetzung erfüllt, so kann ein konkretes Thema für das Abschlussprojekt (Hausarbeit) festgelegt werden.

Aufgabe 1

Programmieren Sie mit Python ein CYOA Text-Adventure mit mindestens 7 Szenen (mindestens eine Eingangs-Szene, eine Gewinn-Szene, eine Verloren-Szene) mit if und elif bzw. wenn Sie möchten match case Kontrollstrukturen und input für Nutzereingaben.

Aufgabe 2

Nutzen Sie eine game-loop mit while damit bei ungültigem Nutzerinput erneut nach Nutzerinput gefragt wird.

Strukturieren Sie den Code mit Hilfe von Methodendeklarationen mit def.

Sorgen Sie dafür, dass ein “Keyboard Interrupt” mit einer freundlichen Bemerkung das Programm beendet (anstelle einer Python-Fehlermeldung).

Aufgabe 3

Beschreiben Sie eine Erweiterung des Grundspiels und wie Sie diese implementieren könnten, und wieso Sie es auf diese Weise tun würden.

Beispiel: Ein Zufallselement bei dem Wechsel einer Szene zu einer anderen (etwa, dass von zwei möglichen Optionen A und B die Option A in 50% der Fälle zum Sieg führt, in den anderen Fällen zu einer anderen Szene), implementiert mit Hilfe von import random.

(Sie können durchaus etwas ausführlicher skizzieren, wie genau das implementiert werden könnte, und wieso so und nicht anders).

Aufgabe 4

Implementieren Sie die in der vorherigen Aufgabe beschriebene Erweiterung.

Aufgabe 5

Was für Erweiterungen haben die anderen vorgeschlagen? Gibt es Gemeinsamkeiten? Kann man abstrahieren und eine Art von System implementieren, welches gleich mehrere solche Erweiterungen besonders leicht zu implementieren macht?