Un'implementazione moderna e premium della Briscola con 3 giocatori (Tu vs 2 IA) realizzata con JavaScript puro, CSS3 animations e sistema audio minimalista.
- โ 3 Giocatori: Tu vs IA1 e IA2
- โ Sistema Joker: Il giocatore che cala Briscola diventa "Joker" e gioca contro i 2 "Soci"
- โ Regole Briscola Complete: Seme di mano, Briscola, ordine carte
- โ AI Intelligente: 2 livelli (Intermediate & Hard)
- โ Punteggio Realistico: Joker vince con 51+, Soci con 71+
- โ Partite Multiple: Accumula punti partita (target 10)
- ๐จ Animazioni Fluide: Carte, prese, transizioni
- ๐ Audio Minimalista: 4 suoni essenziali
- ๐ Statistiche Sessione: Win rate, punti medi, ruoli
- ๐ Toast Notifications: Feedback visivo non-bloccante
- โ Validazione Robusta: Previene mosse illegali
- โ๏ธ Configurazione Flessibile: Preset e opzioni custom
- ๐ฑ Responsive Design: Mobile, tablet, desktop
- ๐ Dark Theme Premium: Verde tavolo realistico
- โฟ Accessibilitร : Focus states, keyboard nav
- ๐ซ Polish: Hover effects, smooth transitions
- ๐ Real-time Score: Punteggi mano e partita
# Apri direttamente in browser
open index.html
# O usa un server locale
python -m http.server 8000
# Visita http://localhost:8000- Clicca una carta dalla tua mano
- IA gioca automaticamente
- Chi vince la presa raccoglie le carte
- Clicca "Prossima Mano" dopo la presa
// In console (F12)
displaySessionStats() // Mostra statistiche sessione
exportStats() // Export JSONnuovo joker mod/
โโโ index.html # Pagina principale
โโโ css/
โ โโโ style.css # Stili + animazioni
โโโ js/
โ โโโ config.js # Config base (semi, carte)
โ โโโ config-premium.js # Config premium + preset
โ โโโ state.js # Stato globale gioco
โ โโโ deck.js # Logica mazzo
โ โโโ turn.js # Gestione turni
โ โโโ scoring.js # Calcolo punteggi
โ โโโ validation.js # Validazione mosse โญ
โ โโโ animations.js # Sistema animazioni โญ
โ โโโ audio.js # Sistema audio โญ
โ โโโ notifications.js # Toast notifications โญ
โ โโโ stats.js # Statistiche โญ
โ โโโ ai.js # IA intermediate & hard
โ โโโ ui.js # Rendering UI
โ โโโ preload.js # Preload immagini
โ โโโ game.js # Motore principale
โโโ assets/
โ โโโ cards/
โ โโโ foglia/ # Semi carte
โ โโโ onda/
โ โโโ roccia/
โ โโโ stella/
โโโ CHANGELOG.md # Versioni e feature
โโโ PREMIUM_UPDATES.md # Guida migliorie
โโโ README.md # Questo file
โญ = Nuovo nella v2.0 Premium
// Accedi alla console (F12) e digita:
applyPreset("Fully Premium") // Audio + animazioni + stats
applyPreset("Silent Mode") // Solo animazioni, niente suoni
applyPreset("Performance Mode") // Minimo: solo core gameplay
applyPreset("Casual") // Rilassato con tempi lunghi// Audio
AUDIO_SYSTEM.enabled = false; // Disabilita audio
setAudioVolume(0.5); // 50% volume
// Animazioni (da CSS in style.css)
// Aumenta 0.4s a 0.8s per animazioni piรน lente
// Statistiche
console.log(STATS.currentSession); // Vedi statistiche live
exportConfig(); // Esporta config corrente// Statistiche
displaySessionStats() // ๐ Mostra statistiche
getWinRate() // Percentuale vittorie
getAveragePointsPerGame() // Punti medi
// Audio
toggleAudio() // Accendi/spegni
setAudioVolume(0.2) // Cambia volume (0-1)
// Config
applyPreset("Silent Mode") // Applica preset
exportConfig() // Esporta JSON config
resetPremiumConfig() // Reset a default
// Debug
validateGameState() // Controlla stato
displaySessionStats() // Statistiche
GAME_STATE // Vedi stato attualeTutte le animazioni sono 30-60% visibili:
- 0.3s: Carta selezionata, punteggi
- 0.4s: Carta al tavolo
- 0.5s: Risoluzione presa
- 0.6s: Briscola reveal
Disabilita in CSS aggiungendo animation: none se necessario.
4 suoni essenziali (WAV minimali):
- ๐ฏ card-play: Quando giochi carta
- ๐ card-win: Vinci presa
- ๐ card-flip: Rivelazione Joker
- ๐ข hand-end: Fine partita
Volume default: 0.3 (non invasivo)
Toggle: F12 โ toggleAudio()
Il gioco previene mosse illegali:
- โ Giocare carta non in mano
- โ Giocare fuori turno
- โ Non seguire seme quando devi
- โ Stato gioco corrotto โ auto-recovery
Traccia automaticamente:
- ๐ Partite giocate / Vinte
- ๐ Win rate %
- ๐ Punti medi per partita
- ๐ค Volte come Joker vs Socio
- ๐ Storico mani con risultati
Visibile con displaySessionStats()
- Segue seme se puรฒ
- Taglia solo se conviene
- Non spreca briscole alte su prese vuote
- Ottimo per principianti
- Analizza tutti i scenari
- Valuta rischio/beneficio
- Taglia intelligentemente
- Ricorda carte giocate
- Ideale per sfida
- โ Responsive design
- โ Touch-friendly
- โ Landscape & portrait
โ ๏ธ Audio disabilitato automaticamente on mobile (personalizzabile)
// In console:
validateGameState()
recoverFromCorruptedState()
startMatch()- Browser richiede user interaction
- Clicca una carta per trigger audio
- Verifica:
AUDIO_SYSTEM.enabled
- Usa LocalStorage (non implementato in v2.0)
- Export manuale:
exportStats()
- Disabilita altre tab
- Riduci qualitร schermo
- Usa "Performance Mode" preset
- PREMIUM_UPDATES.md - Guida dettagliata migliorie
- CHANGELOG.md - Versioni e history
- config-premium.js - Configurazione con commenti
Il codice รจ ben commentato per imparare:
- Gestione stato con vanilla JS
- AI con logica strategica
- Animazioni CSS3 + timing
- Sistema audio robusto
- Validazione e error handling
Perfetto per portfolio o learning.
| Versione | Data | Feature |
|---|---|---|
| v2.0 | 17 Gen 2026 | โจ Premium: Animazioni, Audio, Stats |
| v1.0 | Prima | Core gameplay |
Creatore: Simo
Ispirazioni: PokerStars, Magic Arena, Solitaire
Stack: HTML5 + CSS3 + Vanilla JS (0 dipendenze)
Suggerimenti e bug reports benvenuti!
Vedi PREMIUM_UPDATES.md per support.
Pronto a giocare? ๐ Apri index.html nel browser!
Versione: 2.0 Premium
Status: โ
Stabile e pronto per produzione
Browser: Chrome, Firefox, Safari, Edge (moderni)