POSTE DE CONTRÔLE DE ROUE / CARTE D’ÉTAT

Définir les entrées, puis lire l’état visible de la roue

Ce tableau de décision relie l’éditeur de roue actuel : limites d’entrées, ordre de palette, réglages de rotation, calcul de rotation, historique, état d’élimination et commandes du navigateur.

Ouvrir la roue

Rail d’entrées et ordre de palette

Au démarrage, l’éditeur crée quatre entrées par défaut localisées. Une valeur pickerWheelOptions enregistrée n’est analysée en JSON que si c’est un tableau d’au moins deux entrées ; les entrées exigent les champs string id et text, sont limitées à 30 et les libellés sont coupés à 80 caractères. Un ancien ensemble de exactement quatre libellés anglais par défaut est remplacé par des libellés localisés. Cette fiche n’attribue aucun résultat de récupération aux valeurs enregistrées trop longues ou invalides.

01 · SAISIE — Ajouter, retirer, ordonner

L’ajout supprime les espaces puis coupe le texte à 80 caractères, jusqu’à 30 entrées. Le retrait s’arrête à deux entrées. Le tri utilise text.localeCompare ; Shuffle est Fisher–Yates avec Math.random() et targetIndex = Math.floor(Math.random() * (index + 1)).

02 · PALETTE — Huit jeux de couleurs

Les thèmes visibles sont vibrant, pastel, sunset, forest, ocean, candy, earth et neon. Les couleurs se répètent de manière cyclique selon l’ordre actuel des entrées.

03 · CHANGEMENT — Le thème réattribue l’ordre visible

Changer de thème réattribue ses couleurs selon l’ordre actuel des entrées. Tri et mélange attribuent aussi les couleurs depuis cet ordre.

Registre des palettes

Un thème modifie les couleurs de segments associées à la séquence actuelle ; il n’ajoute pas un autre état d’entrée.

  • vibrant
  • pastel
  • sunset
  • forest
  • ocean
  • candy
  • earth
  • neon

Tableau du calcul de rotation

La roue a besoin d’au moins deux entrées. Une rotation part de la rotation actuelle et utilise les valeurs affichées. Pendant la durée calculée, l’éditeur emploie une courbe ease-out cubic.

01 · RÉGLAGES — Vitesse et durée

spinSpeed commence à 5 et accepte 1–10. spinDuration commence à 5 secondes et accepte 2–15 secondes.

02 · TEMPS — Expression de durée

actualDuration = spinDuration * 1000 / (spinSpeed / 5).

03 · ROTATION — Plage de tours

Les tours vont de 5 + spinSpeed à 8 + spinSpeed en utilisant Math.random() entre ces bornes ; la rotation totale est rotations * 2 * Math.PI.

04 · SEGMENT — Dérivation du pointeur

À la fin, normalizedRotation = newRotation % (2 * Math.PI), pointerAngle = (2 * Math.PI - normalizedRotation) % (2 * Math.PI), et l’index de segment est Math.floor(pointerAngle / anglePerOption).

Registre de sortie, historique et élimination

Quand l’animation se termine, le libellé d’entrée sélectionné est affiché, le total de rotations augmente et le résultat est inséré en tête de l’historique. L’affichage conserve au plus 10 enregistrements.

01 · HISTORIQUE — Insertion en tête, limite 10

Le chemin de fin utilise [newResult, ...previous].slice(0, 10). Chaque résultat contient le texte d’entrée affiché et un horodatage.

02 · ÉLIMINATION — Copie puis retrait conditionnel

Activer Elimination Mode copie les entrées actuelles. Après un résultat, son entrée est retirée seulement s’il reste au moins deux entrées ; sinon la liste est conservée.

03 · RÉINITIALISER — Réinitialise rotation et libellé

Reset remet la rotation à 0 et efface le libellé affiché. Si Elimination Mode est actif et que les entrées d’origine existent, Reset restaure cette liste copiée.

Registre des clés et périmètre des commandes

L’éditeur écrit son état affiché sous des clés localStorage nommées. L’historique n’est écrit que s’il n’est pas vide ; Clear history vide l’état et retire sa clé.

OPTIONS — pickerWheelOptions

L’état des entrées est écrit en JSON après les changements. Les autres préférences écrites sont pickerWheelSound, pickerWheelEliminationMode, pickerWheelColorTheme, pickerWheelSpinSpeed, pickerWheelSpinDuration et pickerWheelTotalSpins.

HISTORIQUE — pickerWheelHistory

Un historique non vide est écrit sous pickerWheelHistory. Clear history retire pickerWheelHistory après avoir défini l’historique affiché comme liste vide.

SAISIE / VUE — Clavier, son, plein écran

Le bouton et le canvas peuvent lancer une rotation. Entrée ou Espace peuvent le faire si l’élément actif n’est pas un INPUT. L’initialisation d’AudioContext est tentée après le premier document click et le son possède un interrupteur. Le plein écran utilise une API native si elle est disponible, sinon une vue CSS de repli, y compris une branche de détection iOS.

Notes de périmètre

  • Ce tableau décrit les chemins et formules actuels de l’éditeur, pas une évaluation de sélection.
  • L’index de sélection est dérivé de la rotation finale normalisée et de la largeur du segment sous le pointeur.
  • L’éditeur utilise Math.random() dans les chemins de mélange et de rotation ; cette page ne caractérise pas ces sorties.
  • Valeurs enregistrées, initialisation du son et plein écran sont décrits comme chemins de code, non comme attentes générales de plateforme.

Poursuivre avec des commandes voisines

Chaque outil lié a sa propre interface et son propre chemin d’état.

  • Lancer une pièce

    Ouvrez l’interface séparée de pièce à deux faces.

  • Sudoku

    Ouvrez une grille avec ses propres commandes.

  • Puzzle de mots

    Ouvrez l’interface de puzzle basée sur les mots.

Questions sur le poste de contrôle

Quelles entrées sont présentes au démarrage ?

L’éditeur commence avec quatre entrées par défaut localisées. pickerWheelOptions n’est utilisé qu’après analyse JSON comme tableau d’au moins deux entrées ; les entrées valides exigent id et text de type string, au plus 30 sont conservées et les libellés sont coupés à 80 caractères.

Quels thèmes de couleur sont visibles ?

Les noms visibles sont vibrant, pastel, sunset, forest, ocean, candy, earth et neon. Les couleurs sont attribuées cycliquement selon l’ordre actuel des entrées, y compris après un changement de thème.

Comment durée et rotation sont-elles calculées ?

spinSpeed est 1–10 et spinDuration est 2–15 secondes. actualDuration = spinDuration * 1000 / (spinSpeed / 5). La rotation utilise une valeur entre 5 + spinSpeed et 8 + spinSpeed puis une courbe ease-out cubic.

Comment l’entrée affichée est-elle dérivée ?

À la fin, le code normalise avec newRotation % (2 * Math.PI), dérive pointerAngle comme (2 * Math.PI - normalizedRotation) % (2 * Math.PI), puis prend Math.floor(pointerAngle / anglePerOption).

Que font historique et Elimination Mode ?

Un résultat est ajouté en tête et l’historique est limité à 10. Activer Elimination Mode copie les entrées actuelles ; après un résultat, cette entrée est retirée seulement s’il reste au moins deux entrées. Reset restaure les entrées copiées si ce mode est actif.

Quelles clés sont enregistrées ?

L’éditeur écrit pickerWheelOptions, pickerWheelHistory quand il n’est pas vide, pickerWheelSound, pickerWheelEliminationMode, pickerWheelColorTheme, pickerWheelSpinSpeed, pickerWheelSpinDuration et pickerWheelTotalSpins. Clear history retire pickerWheelHistory.

Ouvrir les commandes de la roue

Définissez les entrées, consultez palette et réglages, puis utilisez les commandes visibles de la roue.

Ouvrir la roue