Files
Jean-Luc Makiola c205d1f49b docs: correct stale documentation and drop planning artifacts
The docs had drifted from the code and described things that never existed.

- architecture.md documented a QuitCommand class (quit/exit are aliases on
  MenuCommand) and a GameIO interface of read()/write(String); the real one is
  readLine() plus print(StyledText) with presentation hooks. Both corrected,
  along with the package diagram and the game-loop sketch.
- conventions.md listed a package tree missing save, menu, io.text and
  command.impl. Updated, including why MapLayout lives in game.
- data-structures.md claimed LinkedList was deliberately avoided (Pathfinder
  uses one for O(1) addFirst during path reconstruction), named the wrong queue
  for the Swing bridge, and listed an input history that was never built.
- Removed enhancement-ideas.md and implementation-status.md: a backlog and a
  phase tracker, neither of which documents the delivered project.

Also stop tracking the built jars. They still ship in the submission, but a
22 MB binary that changes on every build does not belong in git history.
2026-07-14 12:40:09 +02:00
..

Semesterprojekt Textadventure

Design- und Architekturdokumentation. Bedienung und Build stehen im Haupt-README.

Inhalt

Datei Inhalt
architecture.md Package-Struktur, Schichten, DTO-vs-Domain-Trennung
data-structures.md Alle gewählten Collection-Typen mit Begründung
conventions.md Sprache, ID-Format, Naming, Lombok-Cheatsheet
item-model.md Item-Hierarchie (abstract + 3 Subtypen), Lombok-Inheritance
commands.md Befehlsparser, Command-Pattern, Befehlsliste
npcs.md NPC-Modell, Talk- und Give-Interaktion
yaml-schemas.md Schemas der YAML-Dateien unter resources/world/
loading-flow.md Lade-Reihenfolge, Referenz-Auflösung, Validierung
music.md Hintergrundmusik in der GUI (Bonus)

Pflicht vs. Optional (laut Aufgabenstellung)

  • Pflicht: ≥ 4 Räume mit Navigation, ≥ 3 Gegenstände mit Inventar — erfüllt mit 14 Räumen und 19 Gegenständen.
  • Optional/Bonus: NPCs (3) und Swing-GUI — beides umgesetzt.

Welche Klasse welche Anforderung umsetzt, steht als Tabelle im Haupt-README.

Technologie-Stack

  • Java 21 (LTS)
  • Jackson (YAML) für das Laden der Spielwelt
  • Lombok zur Reduktion von Boilerplate
  • JUnit 5 + AssertJ + Mockito für Tests
  • SLF4J + Logback für Logging
  • Swing für die GUI (Bonus)