🇬🇧 OpenScoreBoard is a web app to manage and customize a digital basketball scoreboard. The project, still in alpha, is designed both for training purposes and for tournament matches. Hardware not provided.
🇮🇹 OpenScoreBoard è una web app per gestire e personalizzare un tabellone segnapunti digitale per basket. Il progetto, ancora in fase alpha, è pensato sia per scopi di allenamento che per partite di torneo. Hardware non fornito.
- Collegati all'applicazione QUI oppure scarica i file e apri
index.html - Scegli la modalità desiderata: BASIC MODE per controllo partita standard, PRO MODE per statistiche giocatori
- Apri il display esterno cliccando su OPEN DISPLAY
- Sei pronto per gestire il tabellone!
- Introduzione
- Primo Avvio
- Utilizzo Base
- Modalità Pro
- Configurazione
- Risoluzione Problemi
- Domande Frequenti
OpenScoreBoard è un tabellone segnapunti digitale completo per partite di basket. Il sistema è composto da quattro componenti principali:
- Dashboard (
index.html) - Schermata principale di navigazione - Control Panel (
control.html) - Gestione base della partita (punteggi, falli, timeout) - Pro Stats (
prostats.html) - Gestione avanzata con statistiche individuali dei giocatori - Settings (
settings.html) - Configurazione cronometro e impostazioni - Display Esterno (
display.html) - Visualizzazione pubblica su monitor/proiettore
✅ Cronometro di gioco con precisione al decimo di secondo
✅ Gestione periodi configurabile (quarti, overtime, intervalli)
✅ Punteggi squadre con incrementi rapidi (+1, +2, +3)
✅ Conteggio falli con indicatore automatico di penalty
✅ Gestione timeout con visualizzazione a pallini
✅ Modalità Pro con roster completo e statistiche individuali
✅ Display personalizzabile con colori squadra
✅ Sincronizzazione in tempo reale tra tutte le schermate
✅ Salvataggio automatico dello stato della partita
- Browser moderno (Chrome, Firefox, Safari, Edge)
- Utilizzo senza installare (online): carica i file su un server web
- Utilizzo con installazione in locale: nessun server richiesto - funziona completamente offline
Assicurati di avere tutti questi file nella stessa cartella:
openScoreBoard/
├── index.html # Dashboard principale
├── control.html # Console di controllo base
├── prostats.html # Statistiche giocatori (Pro Mode)
├── settings.html # Impostazioni e cronometro
├── display.html # Display pubblico
├── app.js # Logica applicazione
├── style.css # Stili e design
└── fonts/
└── DSEG7.woff2 # Font LED digitale
-
Apri la Dashboard
- Fai doppio clic su
index.html - Si aprirà nel tuo browser predefinito
- Vedrai quattro opzioni principali
- Fai doppio clic su
-
Scegli la Modalità
- BASIC MODE: Per controllo partita standard
- PRO MODE: Per gestire statistiche giocatori
- SETTINGS & TIME: Per configurare il cronometro
- OPEN DISPLAY: Per aprire il tabellone pubblico
-
Apri il Display Esterno
- Clicca su "OPEN DISPLAY"
- Si aprirà una nuova finestra/scheda con il tabellone
- Posizionala sul monitor/proiettore desiderato
-
Configura le Squadre (opzionale)
- Vai in BASIC MODE o PRO MODE
- Modifica i nomi delle squadre nei campi di testo
- I nomi si aggiornano automaticamente sul display
-
Sei Pronto!
- Tutte le schermate sono sincronizzate automaticamente
- Puoi passare liberamente tra le diverse modalità
- Lo stato della partita viene salvato automaticamente
Elementi Principali:
Ogni squadra ha:
-
Nome Squadra: Campo modificabile (default: HOME / GUEST)
-
SCORE: Punteggio corrente con pulsanti rapidi
-1: Rimuovi 1 punto+1: Aggiungi 1 punto+2: Aggiungi 2 punti (canestro da 2)+3: Aggiungi 3 punti (canestro da 3)
-
FOULS: Conteggio falli di squadra
-: Rimuovi un fallo+: Aggiungi un fallo- PENALTY: Attiva/disattiva manualmente l'indicatore di penalty
-
TIMEOUTS: Gestione timeout (Usati / Massimi)
-1: Rimuovi un timeout usato+1: Aggiungi un timeout usato- Visualizzazione: "0 / 2" (0 usati su 2 disponibili)
- GAME CLOCK: Cronometro principale (formato MM:SS o SS.D)
- START/STOP: Avvia o ferma il cronometro
- RESET PHASE: Riporta il cronometro all'inizio del periodo corrente
- PERIOD: Visualizzazione periodo corrente
< PREV: Torna al periodo precedenteNEXT >: Passa al periodo successivo
Aggiungere punti:
- Identifica la squadra che ha segnato
- Clicca sul pulsante corrispondente:
+1per tiro libero+2per canestro da 2 punti+3per canestro da 3 punti
- Il punteggio si aggiorna immediatamente su tutte le schermate
Correggere errori:
- Clicca sul pulsante
-1(arancione) - Il punteggio diminuisce di 1 punto
- Ripeti se necessario
Aggiungere un fallo:
- Clicca sul pulsante
+nella sezione FOULS - Il conteggio aumenta di 1
- Quando i falli raggiungono la soglia configurata (default: 5), appare automaticamente l'indicatore PENALTY sul display
Attivare manualmente il PENALTY:
- Clicca sul pulsante PENALTY
- Il pulsante diventa rosso
- Sul display appare un rettangolo rosso accanto ai falli
- Clicca di nuovo per disattivare
Nota: Il PENALTY manuale è indipendente dal conteggio falli e può essere usato per applicare in pieno il regolamento tecnico FIBA.
Registrare un timeout:
- Clicca sul pulsante
+1(arancione) nella sezione TIMEOUTS - Il contatore aumenta (es: da "0 / 2" a "1 / 2")
- Sul display, un pallino grigio diventa giallo
Annullare un timeout:
- Clicca sul pulsante
-1 - Il contatore diminuisce
- Sul display, un pallino giallo torna grigio
Logica visualizzazione:
- Pallini gialli: Timeout già usati
- Pallini grigi: Timeout ancora disponibili
- Esempio: Con 2 timeout max e 1 usato → [🟡][⚪]
Avviare il cronometro:
- Clicca sul pulsante START
- Il cronometro inizia il conto alla rovescia
- Il pulsante diventa STOP
- Sul display, il timer diventa giallo (colore "running")
Fermare il cronometro:
- Clicca sul pulsante STOP
- Il cronometro si ferma
- Il pulsante torna a START
- Sul display, il timer torna bianco
Resettare il periodo:
- Clicca sul pulsante RESET PHASE
- Il cronometro torna al tempo iniziale del periodo corrente
- Il cronometro si ferma automaticamente
Cambiare periodo:
- Clicca su NEXT > per passare al periodo successivo
- Il cronometro si resetta al tempo del nuovo periodo
- Il numero del periodo si aggiorna
- Clicca su < PREV per tornare al periodo precedente
- Utile per correggere errori
Importante: La sequenza dei periodi è configurabile in Settings Numero del periodo: giallo durante il gioco, bianco durante gli intervalli.
Caratteristiche:
- Sfondo nero per massimo contrasto
- Numeri LED digitali grandi e leggibili
- Colori squadra personalizzabili (bordi dei pannelli)
- Sincronizzazione automatica con tutte le console
- Aggiornamento a 60fps per fluidità perfetta
Elementi Visualizzati:
- Nomi Squadre: In alto in ogni pannello
- Punteggi: Grandi numeri centrali
- Falli: Numero o rettangolo rosso PENALTY
- Timeout: Pallini gialli (usati) e grigi (disponibili)
- Periodo: Numero centrale tra le squadre
- Giallo durante il gioco
- Bianco durante gli intervalli
- Cronometro: Grande display centrale in basso
- Giallo quando in esecuzione
- Bianco quando fermo
Quando il Tempo Scade (0.0):
- Il cronometro mostra "0.0"
- Il cronometro si ferma automaticamente
- Resetta il periodo o passa al successivo per continuare
La Modalità Pro aggiunge la gestione completa del roster e delle statistiche individuali dei giocatori.
- Dalla Dashboard, clicca su PRO MODE
- Si apre la schermata di gestione giocatori
- Vedrai due pannelli, uno per ogni squadra
Squadra HOME:
- Inserisci il numero di maglia nel campo
# - Inserisci il nome nel formato "Cognome I." (es: "Rossi M.")
- Clicca sul pulsante Add Player
- Appare un messaggio di conferma
- Il giocatore viene aggiunto alla lista
Squadra GUEST:
- Stessa procedura nel pannello di destra
Esempio:
# : 23
Surname I. : Jordan M.
[Add Player]
- Trova il giocatore nella lista
- Clicca sull'icona 🗑️ (cestino) a destra
- Conferma la rimozione
- Il giocatore viene eliminato dal roster
Ogni giocatore ha due statistiche modificabili:
- -: Rimuovi 1 punto
- +: Aggiungi 1 punto
- Il numero centrale mostra i punti attuali
- -: Rimuovi 1 fallo
- +: Aggiungi 1 fallo
- Il numero centrale mostra i falli attuali
Sincronizzazione Automatica:
- Quando modifichi i punti di un giocatore, il punteggio totale della squadra si aggiorna automaticamente
- Quando modifichi i falli di un giocatore, il totale falli squadra si aggiorna automaticamente
- Tutte le modifiche si riflettono istantaneamente su Control Panel e Display
In fondo a ogni pannello roster:
Team Totals: 45 PTS, 12 F
- PTS: Somma di tutti i punti dei giocatori
- F: Somma di tutti i falli dei giocatori
Nota: I totali sono calcolati automaticamente e si sincronizzano con il punteggio e i falli in BASIC MODE
Quando la Modalità Pro è attivata nelle impostazioni:
-
Il display mostra due colonne laterali con i roster
-
Ogni colonna contiene una tabella con:
- #: Numero maglia
- NAME: Nome giocatore
- PTS: Punti (verde se > 0, bianco se 0)
- F: Falli (giallo, rosso se >= limite configurato)
-
I giocatori sono ordinati per numero di maglia
-
La visualizzazione si aggiorna in tempo reale
Layout Display in Pro Mode:
[Roster HOME] [Punteggi e Timer] [Roster GUEST]
- Dalla Dashboard, clicca su SETTINGS & TIME
- Si apre la schermata di configurazione
- Modifica le impostazioni desiderate
- Clicca APPLY SETTINGS per salvare
Nota: Le impostazioni vengono salvate automaticamente nel browser e persistono tra le sessioni
Quando usarlo:
- Per correggere errori di cronometraggio
- Per impostare un tempo specifico
- Per test e simulazioni
Come fare:
- Trova la sezione "Adjust Game Clock"
- Inserisci il tempo desiderato:
- MM: Minuti (0-99)
- SS: Secondi (0-59)
- t: Decimi di secondo (0-9)
- Clicca sul pulsante SET TIME
- Il cronometro si aggiorna immediatamente
- I campi si svuotano automaticamente
Esempi:
10:00.0→ MM: 10, SS: 00, t: 02:30.5→ MM: 2, SS: 30, t: 545.7→ MM: (vuoto), SS: 45, t: 7
Importante: Puoi inserire solo i campi necessari. Ad esempio, per impostare 30 secondi, inserisci solo SS: 30
Enable Pro Mode (Player Statistics):
- Attivato: Abilita la gestione roster e statistiche individuali
- Il display mostra le colonne laterali con i giocatori
- Puoi accedere a PRO MODE dalla dashboard
- Disattivato: Modalità standard senza statistiche individuali
- Il display mostra solo punteggi e timer centrali
Max Player Fouls (Red at this value):
- Imposta il numero di falli dopo il quale un giocatore viene evidenziato in rosso
- Default: 5 (regola FIBA)
- NBA: 6
- Sul display, i falli del giocatore diventano rossi quando raggiungono questo valore
HOME Color:
- Clicca sul selettore colore
- Scegli il colore desiderato
- Default: Rosso (#e74c3c)
- Il bordo del pannello HOME sul display usa questo colore
GUEST Color:
- Clicca sul selettore colore
- Scegli il colore desiderato
- Default: Blu (#3498db)
- Il bordo del pannello GUEST sul display usa questo colore
Suggerimenti:
- Usa colori contrastanti per distinguere le squadre
- Evita colori troppo chiari su sfondo nero
- Testa la visibilità sul display prima della partita
Max Team Fouls (Penalty Threshold):
- Imposta il numero di falli di squadra dopo il quale scatta automaticamente il PENALTY
- Default: 5 (FIBA)
- NBA: 6 (per quarto)
- Quando una squadra raggiunge questo numero, sul display appare automaticamente il rettangolo rosso PENALTY
È possibile, al fine di gestire in maniera ottimale e completamente a norma di regolamento tecnico FIBA, attivare il segnale di penalità (c.d., "bonus") manualmente, cliccando sul pulsante PENALTY nella schermata principale. In questo modo, alla prima palla viva dopo il 4° fallo di squadra, apparirà il segnale di penalità a tabellone.
Nota Standard:
- FIBA: 5 falli per quarto
- NBA: 6 falli per quarto (5 in overtime)
Nota: La configurazione avanzata dei periodi (durata, numero, sequenza) è gestita internamente nel codice. Per modifiche personalizzate, consulta la sezione tecnica o modifica
app.js.
Struttura Default:
phases: [
{ type: 'period', duration: 600 }, // Q1: 10 minuti
{ type: 'interval', duration: 120 }, // Intervallo: 2 minuti
{ type: 'period', duration: 600 }, // Q2: 10 minuti
{ type: 'interval', duration: 900 }, // Halftime: 15 minuti
{ type: 'period', duration: 600 }, // Q3: 10 minuti
{ type: 'interval', duration: 120 }, // Intervallo: 2 minuti
{ type: 'period', duration: 600 }, // Q4: 10 minuti
{ type: 'interval', duration: 300 }, // Pre-OT: 5 minuti
{ type: 'period', duration: 300 }, // OT1: 5 minuti
// ... ulteriori overtime
]Problema: Le modifiche in una schermata non appaiono nelle altre
Soluzioni:
-
Verifica localStorage
- Assicurati che localStorage sia abilitato nel browser
- Vai in Impostazioni → Privacy → Assicurati che i cookie siano abilitati
-
Usa lo Stesso Browser
- Tutte le schermate devono essere nello stesso browser
- Non funziona tra browser diversi (es: Chrome e Firefox)
-
Ricarica le Pagine
- Premi F5 su tutte le schermate aperte
- Riapri il display se necessario
-
Controlla le Estensioni
- Alcune estensioni del browser possono bloccare localStorage
- Prova in modalità incognito/privata
- Disabilita temporaneamente le estensioni
-
Svuota la Cache
- Premi Ctrl+F5 (Windows) o Cmd+Shift+R (Mac)
- Questo ricarica completamente tutte le pagine
Problema: Il cronometro è impreciso o si blocca
Soluzioni:
-
Ricarica la Pagina
- Premi F5 sulla console di controllo
- Il cronometro si risincronizza
-
Verifica il Carico del Sistema
- Chiudi schede e applicazioni inutilizzate
- Troppi processi rallentano il browser
-
Usa un Browser Moderno
- Aggiorna il browser all'ultima versione
- Chrome e Firefox offrono le migliori prestazioni
-
Regola Manualmente
- Vai in SETTINGS & TIME
- Usa "Adjust Game Clock" per correggere il tempo
Problema: In Pro Mode, i totali non corrispondono alla somma dei giocatori
Soluzioni:
-
Ricarica la Pagina Pro Stats
- Premi F5 su prostats.html
- I totali vengono ricalcolati automaticamente
-
Verifica le Modifiche Manuali
- Se hai modificato i punteggi in BASIC MODE, i totali potrebbero non corrispondere
- Usa solo PRO MODE per gestire i punteggi quando è attivo
-
Ricalcola Manualmente
- Modifica un punto di un giocatore (+1 poi -1)
- Questo forza il ricalcolo dei totali
Problema: In Pro Mode, le colonne laterali non appaiono
Soluzioni:
-
Verifica l'Attivazione
- Vai in SETTINGS & TIME
- Assicurati che "Enable Pro Mode" sia attivato
- Clicca APPLY SETTINGS
-
Aggiungi Giocatori
- Le colonne appaiono solo se ci sono giocatori nel roster
- Vai in PRO MODE e aggiungi almeno un giocatore
-
Ricarica il Display
- Chiudi la finestra del display
- Riapri cliccando OPEN DISPLAY dalla dashboard
Problema: Il display è lento o scatta
Soluzioni:
-
Chiudi Schede Inutilizzate
- Troppo schede aperte rallentano il browser
- Chiudi applicazioni pesanti
-
Riduci la Risoluzione
- Se usi un proiettore, riduci la risoluzione del display
- Usa la risoluzione nativa del monitor quando possibile
-
Disattiva Pro Mode
- Se non necessario, disattiva la modalità Pro
- Riduce il carico di rendering sul display
-
Aggiorna il Browser
- Assicurati di usare l'ultima versione
- I browser vecchi possono avere problemi di prestazioni
Sì! Puoi aprire più finestre di display:
- Clicca "OPEN DISPLAY" più volte dalla dashboard
- Ogni finestra si sincronizza automaticamente
- Posiziona ogni display su monitor/proiettori diversi
- Tutti mostrano lo stesso stato in tempo reale
Sì! Puoi aprire più console contemporaneamente:
- Apri BASIC MODE su un computer
- Apri PRO MODE su un altro computer (stesso browser)
- Apri SETTINGS su un tablet
- Tutte le modifiche si sincronizzano istantaneamente
Importante: Devono essere nello stesso browser sullo stesso dispositivo per la sincronizzazione via localStorage. Per sincronizzazione multi-dispositivo, serve un server (non incluso in questa versione).
Sì! Tutte le impostazioni e lo stato della partita sono salvati automaticamente:
- Punteggi e falli
- Timeout usati
- Nomi squadre e colori
- Roster giocatori e statistiche
- Tempo cronometro e periodo
- Configurazione Pro Mode
Dove vengono salvate:
- Nel localStorage del browser
- Persistono anche dopo aver chiuso il browser
- Sono specifiche per ogni browser (Chrome, Firefox, ecc.)
Per resettare tutto:
// Apri la Console del browser (F12) e incolla:
localStorage.clear();
location.reload();Sì, ma richiede modifica del codice:
- Apri
app.jscon un editor di testo - Cerca la sezione
settings: { phases: [ ... ] } - Modifica durata e sequenza dei periodi
- Salva il file
Esempio per quarti e intervalli personalizzati:
phases: [
{ type: 'period', duration: 720 }, // Q1: 12 minuti
{ type: 'interval', duration: 130 }, // Intervallo: 2:10
{ type: 'period', duration: 720 }, // Q2: 12 minuti
{ type: 'interval', duration: 900 }, // Halftime: 15 minuti
{ type: 'period', duration: 720 }, // Q3: 12 minuti
{ type: 'interval', duration: 130 }, // Intervallo: 2:10
{ type: 'period', duration: 720 }, // Q4: 12 minuti
{ type: 'interval', duration: 300 }, // Pre-OT: 5 minuti
{ type: 'period', duration: 300 }, // OT: 5 minuti
]Sì, completamente!
- Non richiede connessione internet
- Tutti i file sono locali
- Funziona anche in aereo 😄
Eccezione: Se usi font esterni (Google Fonts), richiedono internet la prima volta, poi vengono memorizzati nella cache.
Sì, ma con limitazioni:
- ✅ Tutte le schermate funzionano su tablet
- ✅ Il display funziona perfettamente su smartphone/tablet
⚠️ L'interfaccia è ottimizzata per desktop⚠️ Alcuni pulsanti potrebbero essere piccoli su smartphone
Consiglio: Usa un computer/tablet per le console e smartphone/tablet per display aggiuntivi.
Molto preciso:
- Basato su timestamp assoluti (Date.now())
- Aggiornamento display a 60fps (ogni 16ms)
- Calcolo indipendente su ogni schermata
- Precisione al decimo di secondo
- Nessun drift o ritardo accumulato
Nota: La precisione dipende dal browser e dal carico del sistema, ma è sufficiente per uso sportivo professionale.
Assolutamente! OpenScoreBoard è open source:
- Segnala bug o problemi
- Suggerisci nuove funzionalità
- Contribuisci con codice
- Migliora la documentazione
- Condividi la tua esperienza d'uso
Falli tecnici/antisportivi:
- Usa il pulsante PENALTY manuale se necessario
- Aggiungi i falli normalmente al conteggio
Canestri annullati:
- Usa il pulsante
-1per rimuovere punti - In Pro Mode, rimuovi i punti dal giocatore specifico
Timeout extra (es: infortunio):
- Il sistema permette di superare il limite configurato
- Usa
-1e+1liberamente per gestire situazioni speciali
Overtime multipli:
- Continua a cliccare NEXT > per aggiungere overtime
- Il sistema supporta overtime illimitati (OT1, OT2, OT3, ...)
Checklist Pre-Partita:
- Verifica che tutti i file siano presenti
- Configura i nomi delle squadre
- Imposta i colori squadra
- Configura la soglia falli (FIBA: 5, NBA: 6)
- Se usi Pro Mode, inserisci i roster completi
- Apri il display e posizionalo correttamente
- Testa tutti i pulsanti e la sincronizzazione
- Verifica la visibilità del display da lontano
- Prepara un cronometro di backup (sempre!)
Durante la Partita:
- Usa BASIC MODE per gestione rapida punteggi e cronometro
- Usa PRO MODE per statistiche dettagliate (se attivo)
- Usa SETTINGS solo per correzioni cronometro
- Tieni aperte solo le schermate necessarie
- Controlla periodicamente la sincronizzazione
Post-Partita:
- Fai uno screenshot del display finale per i record
- Annota le statistiche se necessario
- Resetta il sistema per la partita successiva:
- Apri Console del browser (F12)
- Esegui:
localStorage.clear(); location.reload();
Se trovi un bug o hai suggerimenti:
- Annota esattamente cosa è successo
- Includi screenshot se possibile
- Specifica browser e sistema operativo
- Descrivi i passaggi per riprodurre il problema
- Indica quale schermata stavi usando (Control, Pro Stats, Settings, Display)
Dashboard: La pagina principale di navigazione (index.html)
Control Panel: La console di controllo base (control.html)
Pro Stats: La console di gestione statistiche giocatori (prostats.html)
Settings: La pagina di configurazione (settings.html)
Display: La pagina di visualizzazione pubblica (display.html)
Period: Un periodo di gioco (quarto, overtime)
Interval: Un intervallo tra periodi (pausa, halftime)
Phase: Un periodo o intervallo nella sequenza di gioco
Penalty: Indicatore di bonus falli (squadra in penalty)
Timeout: Tempo morto richiesto da una squadra
Roster: Elenco giocatori di una squadra
Pro Mode: Modalità avanzata con statistiche individuali
localStorage: Memoria del browser dove vengono salvate le impostazioni
Sync: Sincronizzazione automatica tra schermate
| Azione | Metodo |
|---|---|
| Aggiungi 1 punto | Clicca +1 |
| Aggiungi 2 punti | Clicca +2 |
| Aggiungi 3 punti | Clicca +3 |
| Rimuovi 1 punto | Clicca -1 (arancione) |
| Aggiungi fallo | Clicca + (Fouls) |
| Rimuovi fallo | Clicca - (Fouls) |
| Attiva Penalty | Clicca PENALTY |
| Aggiungi timeout | Clicca +1 (arancione, Timeouts) |
| Rimuovi timeout | Clicca -1 (Timeouts) |
| Avvia cronometro | Clicca START |
| Ferma cronometro | Clicca STOP |
| Reset periodo | Clicca RESET PHASE |
| Periodo successivo | Clicca NEXT > |
| Periodo precedente | Clicca < PREV |
| Azione | Metodo |
|---|---|
| Aggiungi giocatore | Inserisci #, Nome → Add Player |
| Rimuovi giocatore | Clicca 🗑️ |
| Aggiungi punto giocatore | Clicca + (PTS) |
| Rimuovi punto giocatore | Clicca - (PTS) |
| Aggiungi fallo giocatore | Clicca + (F) |
| Rimuovi fallo giocatore | Clicca - (F) |
Nota: Non è possibile aggiungere il numero "00" come numero di maglia.
| Azione | Metodo |
|---|---|
| Regola cronometro | Inserisci MM:SS.t → SET TIME |
| Attiva Pro Mode | Spunta checkbox → APPLY SETTINGS |
| Cambia colore squadra | Selettore colore → APPLY SETTINGS |
| Cambia soglia falli | Modifica numero → APPLY SETTINGS |
| Azione | Metodo |
|---|---|
| Schermo Intero | F11 / fn+F |
| Esci Schermo Intero | ESC / F11 / fn+F |
| Ricarica | F5 |
Sincronizzazione:
- Basata su
localStoragedel browser - Chiave:
osb_state - Aggiornamento automatico tramite
storageevent - Polling aggiuntivo ogni 100ms (console) e 16ms (display)
Precisione Cronometro:
- Sistema a timestamp assoluti
startTimestamp: Momento di avvio (Date.now())elapsedTime: Tempo già trascorso prima dell'avviocurrentTime: Calcolato dinamicamente da timestamp- Nessun accumulo di errori
Struttura Dati:
gameState = {
isRunning: false,
currentTime: 600,
startTimestamp: null,
elapsedTime: 0,
phaseIndex: 0,
phaseStartTime: 600,
teamA: {
name: "HOME",
score: 0,
fouls: 0,
isPenaltyManual: false,
timeoutsUsed: 0,
timeoutsMax: 2,
color: "#e74c3c",
players: []
},
teamB: { /* ... */ },
settings: {
proMode: false,
maxFouls: 5,
maxPlayerFouls: 5,
phases: [ /* ... */ ]
}
}| Browser | Versione Minima | Note |
|---|---|---|
| Chrome | 90+ | ✅ Consigliato |
| Firefox | 88+ | ✅ Consigliato |
| Safari | 14+ | ✅ Supportato |
| Edge | 90+ | ✅ Supportato |
| Opera | 76+ |
Variabili Principali:
:root {
--bg-color: #1a1a1a;
--panel-bg: #2c3e50;
--text-color: #ecf0f1;
--accent-color: #e74c3c;
--running-color: #f1c40f;
--success-color: #2ecc71;
}Modifica Colori:
- Apri
style.css - Cerca
:root { ... } - Modifica i valori esadecimali
- Salva e ricarica (Ctrl+F5)
Versione Guida: 0.1
Data: 16 Gennaio 2026
Compatibile con: OpenScoreBoard v0.1 (Alpha)
Autore: UDC TV -- Digital Lab
Per supporto, bug report, o richieste di funzionalità, contatta il team di sviluppo o apri una issue nel repository del progetto.