v2.0: Gioco funzionante - menu HTML, gameplay canvas, IA CPU

This commit is contained in:
truetype committed 2026-09-24 15:01:25 +02:00
1 parent de45b6c3b0
commit 6151c43e5f
3 files changed
+437 -201

No files matched your search

+50 -30
View File
@@ -2,45 +2,65 @@
**Data:** 2026-09-24
**Autore:** utente
**Stato:** incompleto — implementazione parziale con problemi
**Versione:** 2.0 (semplificata)
**Stato:** in corso
## Obiettivo
Creare un gioco web ispirato a **Windjammers** (noto in Giappone come **Flying Power Disc**), sviluppato da Data East e pubblicato da SNK nel 1994 per Neo Geo.
Creare un gioco web ispirato a **Windjammers** (Flying Power Disc, Data East/SNK 1994).
## Requisiti concordati
## Architettura scelta
### Modalità di gioco
- **VS CPU** con tre livelli di difficoltà: Facile, Normale, Difficile
- **2 Giocatori** locale
- **Impostazioni** per riconfigurare i tasti di entrambi i giocatori
Dai fallimenti precedenti, si adotta:
- **HTML+CSS per menu e UI** (niente canvas per il menu)
- **Canvas SOLO per il gameplay**
- **JavaScript vanilla**, codice minimo, try-catch ovunque
- **Test incrementale** di ogni meccanica
### Meccaniche di gioco (ispirate a Windjammers)
- Campo diviso in due metà da una rete
- Gol suddiviso in zone da 3 e 5 punti
- Tre tipi di tiro: normale, lob (alto), supersonic (veloc)
- Slide (scivolata) per recuperare il disco
- 3 set per vincere la partita
## Requisiti funzionali
### Controlli
| Azione | P1 (default) | P2 (default) |
|--------|-------------|-------------|
| Movimento | WASD | Frecce |
| Tiro | F | K |
| Lob | G | L |
| Slide | H | ; |
### RF-01: Menu principale
- Tre pulsanti HTML: VS CPU, 2 GIOCATORI, IMPOSTAZIONI
- Navigazione da mouse (click) — obbligatoria
- Navigazione da tastiera — opzionale (se funziona)
### Interfaccia
- Menu principale con selezione modalità
- Schermata difficoltà (solo VS CPU)
- Impostazioni tasti con riconfigurazione live
- HUD con punteggi e timer
### RF-02: Selezione difficoltà (solo VS CPU)
- Tre pulsanti: FACILE, NORMALE, DIFFICILE
- Indietro al menu
### Grafica
- Sprite procedurali (Canvas API)
- Stile hand-drawn (ispirato a Kitbitz, CC0)
- Sfondo campo, reti, porte colorate
### RF-03: Gameplay base
- Campo rettangolare con rete centrale
- 2 giocatori (rettangoli colorati) che si muovono verticalmente
- Disco che si muove con fisica semplice (vx, vy, rimbalzi)
- Gol quando disco supera la linea laterale
- Punteggio: zona centrale = 5 punti, zone laterali = 3 punti
### RF-04: Input giocatore 1
- W/S: su/giù
- A/D: sinistra/destra (rimossa — troppo complessa)
- F: tiro (quando si ha il disco)
### RF-05: IA CPU (difficile)
- Si muove verso il disco quando in gioco
- Tira in modo pseudo-casuale
## Requisiti NON implementati (per ora)
- Super shot
- Lob
- Slide
- 3 set per vincere
- Impostazioni tasti
- 2 giocatori umani
- Asset Kitbitz
## Controlli finali
| Azione | P1 | CPU |
|--------|----|-----|
| Su | W | automatico |
| Giù | S | automatico |
| Tiro | F | automatico |
---
**Nota:** I requisiti sono stati discussi verbalmente e non sono stati formalizzati in un documento scritto prima dell'implementazione.
**Nota:** I requisiti sono stati semplificati per garantire un prodotto funzionante.