Files
Jander_Semester2/Semesterprojekt/docs
Jean-Luc Makiola a0e21a9baa docs: spec for GUI background music
OGG Vorbis (vorbisspi+jorbis) per-room music via rooms.yaml, external gitignored
music/ folder. Testable MusicController (idempotent track switch, null->silence,
OFF disables) over an isolated OggMusicBackend; GameIO.setMusic/setMusicLevel
no-op on console, played by SwingIO. Settings gains a Music level Off/Low/Med/High
(default Medium). Console stays silent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 22:21:10 +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)