CUNHARIA / REGISTO DE MOEDA GRAVADA
Leia o registo de duas faces antes de lançar
Este livro gravado mapeia o editor atual de moeda: cinco IDs de design selecionáveis, controlos visíveis de botão e arrasto, expressão de resultado, valores de movimento, registo mostrado, valores guardados, som e confetes.
- 5 IDs de design
- caminho de botão flipCoin(1.5)
- 20 registos · mostra 10
Seletor de motivos / cinco IDs gravados
O seletor contém exatamente cinco IDs: euro, dollar, chf, gbp e gold. O editor resolve nomes e rótulos de face a partir dos seus objetos de design e mapeamento localizado.
- euro
- dollar
- chf
- gbp
- gold
Os cinco IDs identificam designs selecionáveis nesta interface; este registo não lhes atribui outro atributo.
Trilho de ativação / botão, arrasto, tecla
Use o botão ou controlo de arrasto visível. O botão chama flipCoin(1.5). isFlipping impede outra via de lançamento enquanto uma está em curso.
01 · BOTÃO — Controlo visível
Premir o controlo visível chama flipCoin(1.5). O controlo fica desativado enquanto isFlipping é true.
02 · ARRASTO — Deslocamento para cima
offset = max(dragStartY - clientY, 0), limitado a 100px. O fim só inicia com offset > 30 ou velocity > 2, usando max(offset / 30, velocity / 3).
03 · TECLA — Guarda de Enter ou Espaço
Enter ou Space chama flipCoin(1.5) apenas se o alvo não for input, textarea, button, select ou [contenteditable=true].
Placa de movimento / resultado e rotação
O editor deriva a face mostrada com Math.random() > 0.5 ? heads : tails e usa requestAnimationFrame para atualizações de movimento.
RESULTADO — Expressão de face
Math.random() > 0.5 ? heads : tails. A rotação final é heads = 0 e tails = 180.
VOLTAS — Componentes da rotação
Para flipCoin(velocity=1), baseFlips=4 e extraFlips=min(velocity*2,6). total rotation=(baseFlips+extraFlips)*360+end rotation.
TEMPO — Duração do movimento
duration=1500+velocity*500 ms. requestAnimationFrame atualiza rotação, arco, escala e sombra durante a via.
Registo de lançamentos / limite visível
Quando o movimento termina, são definidos showResult, estado de confetes e FlipResult result/timestamp/coinType; o resultado entra no início, total aumenta 1 e é enviado um evento de analítica.
HISTÓRICO — Inserir no início, manter 20
O editor antepõe FlipResult e mantém no máximo 20 entradas.
VISTA LATERAL — Mostra 10 entradas
A vista lateral usa history.slice(0,10). Com histórico não vazio, mostra percentagens arredondadas de heads e tails do histórico atual.
LEITURA — Apenas registo mostrado
As contagens e percentagens descrevem o histórico mostrado; esta página não as trata como avaliação estatística ou de probabilidade.
Livro de valores guardados / carregar e limpar
Ao montar, o editor lê coinFlipHistory, coinFlipTotalFlips, coinFlipSound e coinFlipSelectedCoin. O efeito escreve histórico, incluindo array vazio, total, som e ID da moeda selecionada.
CARGA — Valores aceites
O histórico aceita apenas objetos com result heads ou tails e corta a 20. Total é aceite somente quando finite e >= 0; selectedCoin deve ser um ID conhecido.
PARSE — Via de JSON inválido
Se a análise JSON falhar, coinFlipHistory e coinFlipTotalFlips são removidos. Som e moeda selecionada são depois resolvidos das cadeias presentes.
LIMPAR — Repor histórico e total
Limpar histórico define history como [] e totalFlips como 0; o efeito escreve depois esses novos valores nas chaves nomeadas.
Notas de âmbito
- AudioContext é tentado num lançamento; um contexto suspenso suportado é retomado e o controlo visível alterna som.
- Após a via final, o estado de confetes inicia um ciclo canvas com 150 partículas e o efeito limpa o ciclo animation frame.
- Este registo descreve ramos do editor e controlos visíveis, não uma avaliação de resultado ou mostrador.
- Use o botão e o controlo de arrasto visíveis para interagir com o editor.
Continuar com ferramentas próximas
Cada ferramenta ligada tem controlos e via de estado próprios.
- Roleta
Abra a interface de entradas e controlos da roda.
- Sudoku
Abra a interface de puzzle de grelha.
- Puzzle de palavras
Abra a interface de puzzle de palavras.
Perguntas sobre o registo de moeda
Que motivos podem ser selecionados?
O seletor tem os IDs euro, dollar, chf, gbp e gold. O editor resolve nomes visíveis e rótulos de face das suas atribuições existentes de design e localização.
Como pode começar um lançamento?
O botão visível chama flipCoin(1.5). O arrasto usa offset = max(dragStartY - clientY, 0), limitado a 100px, e só desencadeia com offset > 30 ou velocity > 2. Enter ou Space seguem a guarda de alvo e chamam flipCoin(1.5).
Que expressão e valores de movimento são usados?
A expressão de face é Math.random() > 0.5 ? heads : tails. baseFlips=4, extraFlips=min(velocity*2,6), duration=1500+velocity*500 ms e total rotation=(baseFlips+extraFlips)*360+end rotation.
O que mostra a vista lateral?
O histórico mantém 20 entradas, a vista lateral usa history.slice(0,10) e um histórico não vazio mostra percentagens arredondadas de heads e tails para esse mostrador.
Que valores guardados são lidos e escritos?
Os valores nomeados são coinFlipHistory, coinFlipTotalFlips, coinFlipSound e coinFlipSelectedCoin. JSON inválido remove histórico e total; limpar define history como [] e total como 0 antes de o efeito os escrever.
O que fazem as vias de som e confetes?
Um lançamento tenta AudioContext e retoma um contexto suspenso suportado. No fim, o estado de confetes executa um ciclo canvas de 150 partículas que limpa o seu animation frame loop.
Abrir controlos de moeda
Escolha um motivo visível, use o botão ou arrasto e leia o registo mostrado.