Files
Jander_Semester2/Semesterprojekt/docs
Jean-Luc Makiola 230177dfb5 docs: spec for presentation/output layer (sub-project 1)
Semantic output model (Style/Span/StyledText) + RoomView/Hud views,
GameIO extended additively (write(String) stays as default), ConsoleIO
(ANSI + box-drawing, tiered glyph modes) and SwingIO (region layout,
JTextPane, bundled font) renderers, command + TestIO migration. Map,
menu, save, music explicitly deferred to later sub-projects.

Also: capture "don't overwhelm / distribute info across regions" and
"B baseline + ASCII for big moments" decisions in the backlog.

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