62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# 🎰 ELSA GAMBLING
|
|
|
|
Web app (HTML + CSS + JS vanilla) che assegna le persone alle stanze con un
|
|
**algoritmo di matching** e rivela il risultato come uno **show di scommesse /
|
|
slot machine**: rulli che rallentano, near-miss, drumroll, coriandoli, jackpot
|
|
sulle stanze con jacuzzi.
|
|
|
|
## Come avviare
|
|
|
|
Basta aprire **`index.html`** in un browser (doppio click) — serve connessione a
|
|
internet perché three.js (sfondo monete) e canvas-confetti sono caricati da CDN.
|
|
|
|
In alternativa, con un mini server locale:
|
|
|
|
```bash
|
|
python3 -m http.server 8080
|
|
# poi apri http://localhost:8080
|
|
```
|
|
|
|
## Come si gioca
|
|
|
|
- **START / SPINNA!** — rivela la persona successiva con un giro di slot.
|
|
- **AUTO ▶** — rivela tutti in sequenza da solo (modalità proiettore).
|
|
- **RE-ROLL 🎲** — rifà il sorteggio (nuova assegnazione).
|
|
- **🔊** — on/off dei suoni (sintetizzati, nessun file audio).
|
|
- **Scommesse** — prima di ogni giro clicca una stanza nel pannello a destra per
|
|
puntare 10 gettoni; se indovini vinci in base alla quota. Contro di te giocano
|
|
3 scommettitori simulati (leaderboard live).
|
|
|
|
I posti con **jacuzzi** (Argo, Eolo, "Quanto te la rischi") sono i jackpot e
|
|
vengono rivelati per ultimi, con celebrazione extra.
|
|
|
|
## Regole del matching
|
|
|
|
- Ogni stanza è **mono-genere** (M con M, F con F).
|
|
- L'algoritmo partiziona le stanze tra i due generi rispettando le capienze, poi
|
|
distribuisce le persone a caso senza lasciare stanze vuote.
|
|
- Verificato su 5000 run: 0 violazioni del vincolo, nessuna stanza vuota.
|
|
|
|
## File
|
|
|
|
| File | Ruolo |
|
|
|------|-------|
|
|
| `index.html` | Struttura + link CDN/font |
|
|
| `styles.css` | Tema neon/casino |
|
|
| `data.js` | Stanze e partecipanti (sorgente dati) |
|
|
| `matching.js` | Algoritmo di assegnazione (testabile in Node) |
|
|
| `app.js` | Motore reveal: rulli, audio, three.js, coriandoli, scommesse |
|
|
| `docs/` | Ricerca su stile gambling, suspense, interattività, implementazione |
|
|
|
|
## Dati attuali
|
|
|
|
16 persone (6 F / 10 M) · 8 stanze / 18 posti. Modifica `data.js` per cambiare
|
|
nomi, generi o stanze — l'app si adatta da sola.
|
|
|
|
## Idee non ancora fatte (possibili evoluzioni)
|
|
|
|
- **Scommesse multi-persona reali** dai telefoni (ora: singolo operatore + bot
|
|
simulati). Servirebbe `BroadcastChannel` o un piccolo backend.
|
|
- **SFX reali** al posto dei suoni sintetizzati.
|
|
- **Gran finale** dedicato all'ultimo jackpot (ora tutti i jackpot sono uguali).
|