feat(debug): Werkbank auf F12
Gegenstandsliste mit Cursor, dazu heilen, absteigen und Raum leeren. Laeuft ueber ein Kommando Debug(Cheat) statt am Spielkern vorbei — die Zusage aus Ticket 11, dass Response::Command der einzige Weg nach game/ ist, gilt auch fuer Cheats. ClearRoom toetet die Gegner, statt die Liste zu leeren: So laeuft der normale Weg samt Todes-Triggern und "Der Raum ist geraeumt".
This commit is contained in:
@@ -252,3 +252,23 @@ Alternative gewesen — weniger Tastendrücke, aber eine Bedienung, die es sonst
|
||||
Dazu zeigt die Gegnerliste unter jedem Lebensbalken die **Ansage** aus Ticket 14 (`↳ Wuchtschlag →
|
||||
dich`, sonst `↳ zögert`). Sie steht bewusst als eigene Zeile und nicht als Kürzel hinter dem Namen:
|
||||
Sie ist die Information, auf der die Entscheidung dieses Zuges beruht.
|
||||
|
||||
### Nachtrag — die Werkbank (Debug-Screen, nach M4)
|
||||
|
||||
Ein zwölfter Screen, `F12` aus Erkundung und Kampf: Gegenstandsliste mit Cursor, dazu vier Tasten für
|
||||
heilen, absteigen, Raum leeren.
|
||||
|
||||
**Sie geht durch dieselbe Tür wie alles andere.** Es wäre kürzer gewesen, den Screen direkt auf
|
||||
`Game` schreiben zu lassen — er hat den `&mut` ohnehin nicht, aber man hätte ihn ihm geben können. Das
|
||||
hätte die Zusage aus Ticket 11 gebrochen, dass `Response::Command` der einzige Weg nach `game/` ist,
|
||||
und zwar ausgerechnet an der Stelle, die am seltensten gelesen wird. Stattdessen ein Kommando
|
||||
`Debug(Cheat)` mit vier Varianten — **eins**, nicht vier, sonst zögen sich Cheats durch `rejects` und
|
||||
`perform` wie echte Kommandos. In `rejects` steht genau eine Zeile: Ein Cheat wird nie abgewiesen.
|
||||
|
||||
`ClearRoom` setzt die Lebenspunkte auf null, statt `enemies` zu leeren. So läuft der normale Weg samt
|
||||
Todes-Triggern, Erfahrung (später) und „Der Raum ist geräumt" — ein Cheat, der am Spielablauf
|
||||
vorbeigeht, testet den Spielablauf nicht.
|
||||
|
||||
**Immer mitgebaut**, nicht hinter `cfg(debug_assertions)`. Das wäre ein `#[cfg]` an der Variante *und*
|
||||
an jedem `match` darüber — für ein Spiel, das niemand ausliefert. Ein `#[cfg]` reicht später nach,
|
||||
wenn es je einen Release-Build gibt.
|
||||
|
||||
Reference in New Issue
Block a user