BANCO DI CONTROLLO DELLA RUOTA / MAPPA DI STATO
Imposta le voci e leggi lo stato visibile della ruota
Questo pannello decisionale collega l’editor corrente della ruota: limiti delle voci, ordine della tavolozza, impostazioni di giro, calcolo della rotazione, cronologia, stato di eliminazione e controlli del browser.
- 4 voci iniziali localizzate
- 2–30 voci · 80 caratteri
- 8 tavolozze · velocità 1–10 · durata 2–15 s
Binario voci e ordine della tavolozza
All’avvio, l’editor crea quattro voci predefinite localizzate. Un valore salvato pickerWheelOptions è analizzato come JSON solo se è un array con almeno due voci; le voci richiedono campi string id e text, sono limitate a 30 e le etichette sono tagliate a 80 caratteri. Un set precedente di esattamente quattro etichette inglesi predefinite è sostituito da etichette localizzate. Questa scheda non assegna un esito di ripristino a valori salvati troppo lunghi o non validi.
01 · INPUT — Aggiungi, rimuovi, ordina
L’aggiunta rimuove gli spazi e taglia il testo a 80 caratteri, fino a 30 voci. La rimozione si ferma a due voci. L’ordinamento usa text.localeCompare; Shuffle è Fisher–Yates con Math.random() e targetIndex = Math.floor(Math.random() * (index + 1)).
02 · TAVOLOZZA — Otto set di colori
I temi visibili sono vibrant, pastel, sunset, forest, ocean, candy, earth e neon. I colori si ripetono ciclicamente secondo l’ordine corrente delle voci.
03 · CAMBIO — Il tema riassegna l’ordine visibile
Cambiare tema riassegna i colori del tema secondo l’ordine corrente delle voci. Ordinamento e mescolamento assegnano anch’essi colori da tale ordine.
Registro delle tavolozze
Un tema cambia i colori dei segmenti associati alla sequenza corrente; non aggiunge un altro stato di voce.
- vibrant
- pastel
- sunset
- forest
- ocean
- candy
- earth
- neon
Pannello del calcolo di giro
La ruota richiede almeno due voci. Un giro parte dalla rotazione corrente e usa i valori visibili. Durante la durata calcolata, l’editor impiega una curva ease-out cubic.
01 · IMPOSTAZIONI — Velocità e durata
spinSpeed inizia a 5 e accetta 1–10. spinDuration inizia a 5 secondi e accetta 2–15 secondi.
02 · TEMPO — Espressione della durata
actualDuration = spinDuration * 1000 / (spinSpeed / 5).
03 · ROTAZIONE — Intervallo di giri
I giri vanno da 5 + spinSpeed a 8 + spinSpeed usando Math.random() tra tali limiti; la rotazione totale è rotations * 2 * Math.PI.
04 · SEGMENTO — Derivazione del puntatore
Alla fine, normalizedRotation = newRotation % (2 * Math.PI), pointerAngle = (2 * Math.PI - normalizedRotation) % (2 * Math.PI), e l’indice del segmento è Math.floor(pointerAngle / anglePerOption).
Registro di uscita, cronologia ed eliminazione
Quando l’animazione termina, viene mostrata l’etichetta della voce selezionata, il totale dei giri aumenta e il risultato è inserito davanti alla cronologia. Il display conserva al massimo 10 record di cronologia.
01 · CRONOLOGIA — Inserimento davanti, limite 10
Il percorso finale usa [newResult, ...previous].slice(0, 10). Ogni risultato contiene il testo della voce mostrata e un timestamp.
02 · ELIMINAZIONE — Copia e rimozione condizionale
Attivare Elimination Mode copia le voci correnti. Dopo un risultato, la sua voce è rimossa solo quando restano almeno due voci; altrimenti l’elenco viene mantenuto.
03 · RESET — Reimposta rotazione ed etichetta
Reset riporta la rotazione a 0 e cancella l’etichetta mostrata. Con Elimination Mode attivo e voci originali presenti, Reset ripristina quell’elenco copiato.
Registro delle chiavi e ambito dei controlli
L’editor scrive il proprio stato mostrato sotto chiavi localStorage nominate. La cronologia viene scritta solo se non vuota; Clear history svuota lo stato e rimuove la sua chiave.
OPZIONI — pickerWheelOptions
Lo stato delle voci è scritto come JSON dopo le modifiche. Le altre preferenze scritte sono pickerWheelSound, pickerWheelEliminationMode, pickerWheelColorTheme, pickerWheelSpinSpeed, pickerWheelSpinDuration e pickerWheelTotalSpins.
CRONOLOGIA — pickerWheelHistory
Una cronologia non vuota è scritta sotto pickerWheelHistory. Clear history rimuove pickerWheelHistory dopo aver impostato la cronologia mostrata come elenco vuoto.
INPUT / VISTA — Tastiera, suono, schermo intero
Il pulsante e il canvas possono avviare un giro. Invio o Spazio possono farlo se l’elemento attivo non è un INPUT. L’inizializzazione di AudioContext viene tentata dopo il primo document click e il suono ha un interruttore. Lo schermo intero usa un’API nativa quando disponibile, altrimenti una vista CSS di ripiego, compreso un ramo di rilevamento iOS.
Note di ambito
- Questo pannello descrive percorsi e formule correnti dell’editor, non una valutazione della selezione.
- L’indice di selezione deriva dalla rotazione finale normalizzata e dalla larghezza del segmento sotto il puntatore.
- L’editor usa Math.random() nei percorsi di mescolamento e giro; questa pagina non caratterizza tali uscite.
- Valori memorizzati, inizializzazione del suono e schermo intero sono descritti come percorsi di codice, non come aspettative di piattaforma.
Prosegui con controlli vicini
Ogni strumento collegato ha la propria interfaccia e il proprio percorso di stato.
- Lancia moneta
Apri l’interfaccia separata della moneta a due lati.
- Sudoku
Apri un puzzle a griglia con controlli propri.
- Puzzle di parole
Apri l’interfaccia del puzzle basato sulle parole.
Domande sul banco di controllo
Quali voci sono presenti all’avvio?
L’editor parte con quattro voci predefinite localizzate. pickerWheelOptions è usato solo dopo parsing JSON come array con almeno due voci; quelle valide richiedono id e text string, al massimo 30 sono mantenute e le etichette sono tagliate a 80 caratteri.
Quali temi colore sono visibili?
I nomi visibili sono vibrant, pastel, sunset, forest, ocean, candy, earth e neon. I colori sono assegnati ciclicamente secondo l’ordine corrente delle voci, anche dopo un cambio tema.
Come sono calcolate durata e rotazione?
spinSpeed è 1–10 e spinDuration è 2–15 secondi. actualDuration = spinDuration * 1000 / (spinSpeed / 5). La rotazione usa un valore tra 5 + spinSpeed e 8 + spinSpeed e poi una curva ease-out cubic.
Come è derivata la voce mostrata?
Alla fine il codice normalizza con newRotation % (2 * Math.PI), deriva pointerAngle come (2 * Math.PI - normalizedRotation) % (2 * Math.PI), poi prende Math.floor(pointerAngle / anglePerOption).
Cosa fanno cronologia ed Elimination Mode?
Un risultato è aggiunto davanti e la cronologia è limitata a 10. Attivare Elimination Mode copia le voci correnti; dopo un risultato rimuove quella voce solo se restano almeno due. Reset ripristina le copiate quando la modalità è attiva.
Quali chiavi sono memorizzate?
L’editor scrive pickerWheelOptions, pickerWheelHistory se non vuota, pickerWheelSound, pickerWheelEliminationMode, pickerWheelColorTheme, pickerWheelSpinSpeed, pickerWheelSpinDuration e pickerWheelTotalSpins. Clear history rimuove pickerWheelHistory.
Apri i controlli della ruota
Imposta le voci, consulta tavolozza e impostazioni, poi usa i controlli visibili della ruota.