From 88e959adee5312623161cf1875069587f643d5ae Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Mon, 1 Jun 2026 15:30:51 +0200 Subject: [PATCH] docs: mark main menu + save/load implemented; note minimal settings scope Co-Authored-By: Claude Sonnet 4.6 --- Semesterprojekt/docs/enhancement-ideas.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Semesterprojekt/docs/enhancement-ideas.md b/Semesterprojekt/docs/enhancement-ideas.md index 883c3b7..8a19c7e 100644 --- a/Semesterprojekt/docs/enhancement-ideas.md +++ b/Semesterprojekt/docs/enhancement-ideas.md @@ -144,6 +144,13 @@ vorerst puzzle-fokussiert ohne Survival-Druck. ### 6. Hauptmenü & Settings +> ✅ umgesetzt (Branch `feature/main-menu-save-load`). Hauptmenü-Shell oberhalb +> des Game-Loops (Neues Spiel / Laden / Einstellungen / Beenden) über neue +> `GameIO.choose`-Primitive (Konsole: nummeriertes Menü; GUI: Buttons). +> **Minimale Settings**: nur Farb-Modus + Glyphen-Modus (ASCII/Unicode), live +> umschaltbar, in `saves/settings.json` persistiert. Musik-/Typewriter-Toggles +> weiter zurückgestellt (Features existieren noch nicht). + - **Hauptmenü** vor der Spielschleife: *Neues Spiel*, *Spiel laden*, *Einstellungen*, *Beenden*. - **Spielstände-Liste**: gespeicherte Spiele mit Metadaten (Name, Raum, Zugzahl, Zeitstempel) anzeigen und hineinladen. @@ -154,6 +161,13 @@ vorerst puzzle-fokussiert ohne Survival-Druck. ### 7. Speichern / Laden +> ✅ umgesetzt (Branch `feature/main-menu-save-load`). JSON-Spielstand als +> Delta über die frisch aus YAML geladene Welt (`SaveData`/`SaveCodec`/ +> `SaveService`, atomare Writes). **Ein aktiver Slot**: manuelles `save`, +> Autosave (Quest-Completion + alle 10 Züge) und `quit`/`menu` (speichern + +> zurück ins Menü) schreiben denselben Slot; Laden nur über das Menü. +> `saves/` ist gitignored. + - Spielstand serialisieren (Player-Zustand, Inventar, World-Flags, besuchte Räume, Quest-Fortschritt) – Format z.B. YAML/JSON. - Mehrere Speicherstände, benennbar; Anbindung an die Spielstände-Liste im Menü. @@ -175,6 +189,9 @@ vorerst puzzle-fokussiert ohne Survival-Druck. ## Festgelegte Erweiterungs-Entscheidungen +> **Pathfinding** (BFS `go to `, Trie-Autocomplete) bleibt für eine +> spätere Runde im Scope. + | Entscheidung | Wert | |---|---| | Eigene `uebung`-Datenstrukturen verwenden? | **Nein** – Standard-Collections (vom Prof bestätigt) |