Files
Jander_Semester2/Semesterprojekt/docs
Jean-Luc Makiola 20d4f1470a docs: spec for quests & quest-log (sub-project 3.2)
Condition-driven multi-stage quests on top of the foundation: Quest/QuestStage
data, QuestLog + QuestEngine (per-turn auto-advance with announcements),
START_QUEST effect, QuestView display via a console 'quests' command and a GUI
quest-box under the map. quests.yaml optional; World gains a 5-arg back-compat
constructor. Win/endings deferred to 3.3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 22:20:49 +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)