CECA / REGISTRO DE MONEDA GRABADA
Consulta el registro de dos caras antes de lanzar
Este libro grabado relaciona el editor actual de moneda: cinco IDs de diseño seleccionables, controles visibles de botón y arrastre, expresión de resultado, valores de movimiento, registro mostrado, valores guardados, sonido y confeti.
- 5 IDs de diseño
- ruta de botón flipCoin(1.5)
- 20 registros · muestra 10
Selector de motivos / cinco IDs grabados
El selector contiene exactamente cinco IDs: euro, dollar, chf, gbp y gold. El editor resuelve nombres y etiquetas de cara desde sus objetos de diseño y asignación localizada.
- euro
- dollar
- chf
- gbp
- gold
Los cinco IDs identifican diseños seleccionables en esta interfaz; este registro no les asigna otro atributo.
Riel de activación / botón, arrastre, tecla
Usa el botón o el control de arrastre visibles. El botón llama a flipCoin(1.5). isFlipping evita otra ruta de lanzamiento mientras una está en curso.
01 · BOTÓN — Control visible
Al pulsar el control visible se llama a flipCoin(1.5). El control se desactiva mientras isFlipping es true.
02 · ARRASTRE — Desplazamiento hacia arriba
offset = max(dragStartY - clientY, 0), limitado a 100px. El final inicia solo con offset > 30 o velocity > 2, usando max(offset / 30, velocity / 3).
03 · TECLA — Guardia de Enter o Espacio
Enter o Space llama a flipCoin(1.5) solo si el destino no es input, textarea, button, select o [contenteditable=true].
Placa de movimiento / resultado y rotación
El editor deriva el lado mostrado con Math.random() > 0.5 ? heads : tails y usa requestAnimationFrame para actualizar el movimiento.
RESULTADO — Expresión del lado
Math.random() > 0.5 ? heads : tails. La rotación final es heads = 0 y tails = 180.
VUELTAS — Componentes del giro
Para flipCoin(velocity=1), baseFlips=4 y extraFlips=min(velocity*2,6). total rotation=(baseFlips+extraFlips)*360+end rotation.
TIEMPO — Duración de movimiento
duration=1500+velocity*500 ms. requestAnimationFrame actualiza rotación, arco, escala y sombra durante la ruta.
Registro de lanzamientos / límite visible
Al terminar el movimiento se fijan showResult, estado de confeti y FlipResult result/timestamp/coinType; el resultado se inserta al inicio, total aumenta en 1 y se envía un evento de analítica.
HISTORIAL — Inserción inicial, conserva 20
El editor antepone FlipResult y mantiene como máximo 20 entradas.
VISTA LATERAL — Muestra 10 entradas
La vista lateral usa history.slice(0,10). Con historial no vacío muestra porcentajes redondeados de heads y tails del historial actual.
LECTURA — Solo registro mostrado
Los recuentos y porcentajes describen el historial mostrado; esta página no los trata como evaluación estadística o de probabilidad.
Libro de valores guardados / carga y borrado
Al montar, el editor lee coinFlipHistory, coinFlipTotalFlips, coinFlipSound y coinFlipSelectedCoin. Su efecto escribe historial, incluso un array vacío, total, sonido e ID de moneda elegida.
CARGA — Valores aceptados
El historial acepta solo objetos con result heads o tails y corta a 20. Total se acepta solo si es finite y >= 0; selectedCoin debe ser un ID de diseño conocido.
PARSE — Ruta de JSON no válido
Si falla el análisis JSON, se eliminan coinFlipHistory y coinFlipTotalFlips. Después se resuelven sonido y moneda elegida desde sus cadenas presentes.
BORRAR — Reinicia historial y total
Borrar historial fija history en [] y totalFlips en 0; el efecto escribe después esos nuevos valores bajo las claves nombradas.
Notas de alcance
- AudioContext se intenta durante un lanzamiento; un contexto suspendido compatible se reanuda y el control visible alterna sonido.
- Tras la ruta final, el estado de confeti inicia un bucle canvas de 150 partículas y su efecto limpia el bucle de animation frame.
- Este registro describe ramas del editor y controles visibles, no una evaluación de un resultado o pantalla.
- Usa el botón y el control de arrastre visibles para interactuar con el editor.
Continuar con herramientas cercanas
Cada herramienta enlazada tiene sus propios controles y ruta de estado.
- Ruleta
Abre la interfaz de entradas y controles de rueda.
- Sudoku
Abre la interfaz de rompecabezas de cuadrícula.
- Puzzle de palabras
Abre la interfaz de rompecabezas de palabras.
Preguntas sobre el registro de moneda
¿Qué motivos se pueden seleccionar?
El selector tiene los IDs euro, dollar, chf, gbp y gold. El editor resuelve nombres visibles y etiquetas de cara desde sus asignaciones de diseño y localización existentes.
¿Cómo puede empezar un lanzamiento?
El botón visible llama a flipCoin(1.5). El arrastre usa offset = max(dragStartY - clientY, 0), limitado a 100px, y solo activa con offset > 30 o velocity > 2. Enter o Space siguen su guardia de destino y llaman a flipCoin(1.5).
¿Qué expresión y valores de movimiento se usan?
La expresión de lado es Math.random() > 0.5 ? heads : tails. baseFlips=4, extraFlips=min(velocity*2,6), duration=1500+velocity*500 ms y total rotation=(baseFlips+extraFlips)*360+end rotation.
¿Qué muestra la vista lateral?
El historial conserva 20 entradas, la vista lateral usa history.slice(0,10) y un historial no vacío muestra porcentajes redondeados de heads y tails para esa pantalla.
¿Qué valores guardados se leen y escriben?
Los valores nombrados son coinFlipHistory, coinFlipTotalFlips, coinFlipSound y coinFlipSelectedCoin. JSON no válido elimina historial y total; borrar fija history en [] y total en 0 antes de que el efecto los escriba.
¿Qué hacen las rutas de sonido y confeti?
Un lanzamiento intenta AudioContext y reanuda un contexto suspendido compatible. Al final, el estado de confeti ejecuta un bucle canvas de 150 partículas que limpia su animation frame loop.
Abrir controles de moneda
Elige un motivo visible, usa el botón o arrastre y consulta el registro mostrado.