Files
Jean-Luc Makiola 83643a192f semesterprojekt: implement full text adventure (phases 1-7)
Walking skeleton through Swing GUI: YAML-driven world (4 rooms,
4 items, 1 NPC), HashMap command dispatch with parser, three-tier
item hierarchy (readable / switchable / plain), and end-to-end
NPC give/receive flow. 67 tests green.
2026-05-25 21:37:59 +02:00
..

Semesterprojekt Textadventure

Design- und Architekturdokumentation. Dient als Spec während der Implementierung.

Inhalt

Datei Inhalt
architecture.md Package-Struktur, Schichten, DTO-vs-Domain-Trennung
conventions.md Sprache, ID-Format, Naming, Lombok-Cheatsheet
data-structures.md Alle gewählten Collection-Typen mit Begründung
item-model.md Item-Hierarchie (abstract + 3 Subtypen), Lombok-Inheritance
yaml-schemas.md Schemas für items.yaml, rooms.yaml, npcs.yaml, game.yaml
loading-flow.md Lade-Reihenfolge, Referenz-Auflösung, Validierung
commands.md Befehlsparser, Command-Pattern, Befehlsliste
npcs.md NPC-Modell, Talk- und Give-Interaktion
implementation-status.md Aktueller Stand, Phasen-Checkliste, festgelegte Entscheidungen

Pflicht vs. Optional (laut Aufgabenstellung)

  • Pflicht: ≥4 Räume mit Navigation, ≥3 Gegenstände mit Inventar
  • Optional/Bonus: NPCs, Swing-GUI

Beide optionalen Teile sind hier eingeplant.

Technologie-Stack

  • Java 25
  • Jackson (YAML) für Daten-Loading
  • Lombok für Boilerplate-Reduktion
  • JUnit 5 + AssertJ + Mockito für Tests
  • Logback + SLF4J für Logging
  • Swing für GUI (Bonus)