Blatt 01: Hangman (Wiederholung Swing)
(1 Punkt)
Dieses Blatt ist bewusst einfach gestaltet und dient der Wiederholung Ihrer Kenntnisse aus der LV "Programmieren 1".
Implementieren Sie in Java das Spiel Hangman.
A01.1: Swing und Java2D (45%)
(Verteilung: 20%, 10%, 5%, 5%, 5%)
Das Spiel soll vollständig über eine in Swing und Java2D realisierte GUI bedient werden:
- Visualisieren Sie den Zustand des Galgenmännchens per Java2D.
- Visualisieren Sie den Zustand des zu ratenden Wortes geeignet.
- Es muss ein Eingabefeld geben, um den nächsten Buchstaben eingeben zu können.
- Die bisher eingegebenen Buchstaben sollen in der Reihenfolge der Eingabe angezeigt werden.
- Das Spiel soll per Knopfdruck abgebrochen und neu gestartet werden können.
A01.2: Einlesen von Textdateien (45%)
(Verteilung: 10%, 5%, 10%, 5%, 10%, 5%)
Es soll die Möglichkeit geben, eine Textdatei mit zu ratenden Wörtern einzulesen:
- Auf Anforderung des Nutzers soll ein Auswahldialog erscheinen.
- Startverzeichnis ist der Ordner, in dem das Spiel gestartet wurde.
- Es sollen nur Textdateien mit der Endung
.txt
ausgewählt werden können. - Es soll nur eine Datei ausgewählt werden können (also keine Mehrfachselektion).
- Die ausgewählte Textdatei soll eingelesen werden (Format: pro Zeile ein Wort). Alle eingelesenen Wörter sollen in eine Menge überführt und für das Spiel nutzbar gemacht werden.
- Es soll für jedes neue Spiel ein zufälliges Wort aus der Menge der eingelesenen Wörter zum Raten ausgewählt werden.
A01.3: Dokumentation (10%)
Erstellen Sie ein UML-Klassendiagramm für Ihre Lösung.
A01.4: Bonus-Aufgaben (+25%)
(Verteilung: +10%, +10%, +5%)
- Heben Sie in der Anzeige der eingegebenen Buchstaben die korrekt geratenen Buchstaben in grüner Farbe hervor.
- Passen Sie die Visualisierung des Galgenmännchens farblich an die Tageszeit an, beispielsweise könnte es in den Nachtstunden eine Art Dark-Mode geben und tagsüber einen Light-Mode. Alternativ könnten Sie auch die Farbe der Zeichnung mit der Uhrzeit variieren.
- Lassen Sie den Nutzer per Slider die Schwierigkeit variieren: Steuerung der Länge des zu ratenden Wortes und/oder Steuerung der Anzahl der erlaubten Fehlversuche.