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:

  1. Visualisieren Sie den Zustand des Galgenmännchens per Java2D.
  2. Visualisieren Sie den Zustand des zu ratenden Wortes geeignet.
  3. Es muss ein Eingabefeld geben, um den nächsten Buchstaben eingeben zu können.
  4. Die bisher eingegebenen Buchstaben sollen in der Reihenfolge der Eingabe angezeigt werden.
  5. 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:

  1. Auf Anforderung des Nutzers soll ein Auswahldialog erscheinen.
  2. Startverzeichnis ist der Ordner, in dem das Spiel gestartet wurde.
  3. Es sollen nur Textdateien mit der Endung .txt ausgewählt werden können.
  4. Es soll nur eine Datei ausgewählt werden können (also keine Mehrfachselektion).
  5. 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.
  6. 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%)

  1. Heben Sie in der Anzeige der eingegebenen Buchstaben die korrekt geratenen Buchstaben in grüner Farbe hervor.
  2. 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.
  3. 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.