diff --git a/Controls.md b/Controls.md new file mode 100644 index 0000000..771a4f4 --- /dev/null +++ b/Controls.md @@ -0,0 +1,86 @@ +# Controls + +Schema completo dei controlli. + +## Controller Game Boy + +| Tasto | Azione | +|---|---| +| **DPad** | Movimento (8 direzioni) | +| **A** + direzione | Salto evasivo (2 tile, costa 60 stamina) | +| **B** + direzione | Corsa (8 frame/tile, 10 stamina/tile) | +| **A** (da fermo) | Nessuna azione | +| **B** (da fermo) | Nessuna azione | +| **START** | (titolo) Avvia → mostra intro → inizia partita / (game over) Conferma retry | +| **SELECT** | (titolo) Mostra crediti / (in gioco) Mostra/nasconde istruzioni | +| **B** (su schermata istruzioni) | Chiude e riprende il gioco | + +## Su tastiera (emulatori / browser) + +| Tasto tastiera | Mappato a | +|---|---| +| `←` `↑` `→` `↓` | DPad | +| `W` `A` `S` `D` | DPad (alternativo) | +| `Z` o `J` | A | +| `X` o `K` | B | +| `Enter` o `Space` | START | +| `Shift` (entrambi) o `Tab` | SELECT | +| `Esc` | Esci dal gioco (emulator only) | + +## Movimento (DAS) + +Il gioco usa controlli **Delayed Auto-Shift** stile Tetris: + +| Fase | Durata | +|---|---| +| Delay iniziale | 12 frame | +| Repeat (camminata) | 6 frame | +| Repeat (corsa) | 2 frame | + +Questo significa: +- Premi e rilascia: 1 passo +- Tieni premuto: parte dopo 12 frame, poi un passo ogni 6 frame (o 2 in corsa) + +## Stamina + +- **Massimo**: 100 +- **Ricarica**: `stamina_recharge_rate` (frame per +1 stamina) + - Livello 1: 60 frame + - Livello 8: 60 + 7×12 = 144 frame +- **Salto**: costa 60 stamina +- **Corsa**: 10 stamina per tile +- **Sotto stamina 10**: la corsa fallback a camminata +- **Salto rischioso**: con stamina < 60, possibilità di "caduta nel vuoto" (danno + game over) + +## HUD + +Durante il gioco: + +- **Top-left**: `L` (livello corrente) +- **Top-right**: barra stamina (5 segmenti, 40 px) +- **Centro**: player (fisso, è il mondo che scrolla) + +## Schermate speciali + +### Title screen +- **START**: inizia partita +- **SELECT**: mostra crediti (con `me@enne2.net 202606`) + +### Intro +- Qualsiasi tasto: inizia partita dal livello 1 + +### Game Over (sconfitta) +- **START**: riprova (stesso livello) + +### Game Over (vittoria / "Going Deeper") +- **START**: livello successivo + +### Finale +- **START**: torna al titolo + +### Crediti +- **B**: torna al titolo + +### Istruzioni +- **B**: chiudi e riprendi +- **SELECT** (in gioco): riapri