Lanzamento de moeda e ruleta de balde
Lanza unha moeda virtual, xira unha roda personalizable ou escolle ao azar dunha lista de opcións. Usa a aleatoriedad criptograficamente segura do teu navegador — non é un sorteo público verificable, así que evita concursos regulados.
🔒 Os tres usan o xerador de números pseudoaleatorios criptograficamente seguro do teu navegador: o resultado se escolle primeiro, despois se anima — a moeda é un verdadeiro 50/50, a roda se xira ao resultado xa escollido, e o selector é imparcial. Nada sae do teu dispositivo. Isto é xusto para o uso casual, pero non é un sorteo público verificable, así que evita concursos regulados ou decisións de alto valor.
Usos habituais
- Lanzar Moeda para Tomar DecisiónsUse un lanzamento de moeda virtual xusto para tomar decisións rápidas e imparciais cando está atrapado entre dúas opcións.
- Xirar Roda para Asignacións de Equipo AleatoriosUse a roda de xiración personalizable para asignar aleatoriamente membros do equipo a tarefas, funcións ou grupos.
- Escolledor de Estudante Aleatorio para AulasUse a roda de xiración ou escolledor de opcións para chamar aleatoriamente aos estudantes, asignar grupos ou escoller voluntarios.
- Lanzamento de Moeda Virtual para DeportesLanzar unha moeda xusto para determinar os lados do equipo, primeira posesión, orde de saque ou outras decisións deportivas.
- Escolledor Aleatorio para RegalosEscoller un gañador aleatorio dunha lista de inscricions usando o Escolledor de Opcións — transparente e xusto.
Como funciona
Os tres modos — cara ou cruz, roda xiratoria e selector de opcións — usan a API Web Crypto integrada do navegador (crypto.getRandomValues) para xerar o resultado gañador, e despois conducen a animación enteiramente do lado do cliente con transformacións CSS e requestAnimationFrame. Ningún servidor está involucrado en ningún momento.
- 1Web Crypto escolle o gañadorAntes de que comece calquera animación, crypto.getRandomValues enche un Uint32Array cun enteiro de 32 bits criptograficamente aleatorio. Unha operación de módulo mapéao ao número de opcións (2 para cara/cruz, N para a roda ou o selector), así que cada resultado ten unha probabilidade exactamente igual.
- 2O ángulo de rotación calcúlase para caer no resultadoPara a moeda, o código calcula a rotación adicional máis curta (por riba do ángulo acumulado actual) que remata coa cara correcta arriba — cara en 0°, cruz en 180° — e despois engade 5 voltas completas para que pareza unha voltereta real. A roda fai o mesmo: atopa o desprazamento angular que trae a franxa gañadora baixo o punteiro, engade 6 rotacións completas e aplica un pequeno tremor aleatorio para que o punteiro non pare sempre xusto no centro da franxa.
- 3As transicións CSS e requestAnimationFrame conducen a animaciónA moeda e a roda animan mediante transform CSS cunha curva de suavizado cubic-bezier aplicada a un único valor de rotación acumulado — non se precisa JavaScript por fotograma unha vez establecido o ángulo. O selector de opcións usa requestAnimationFrame no seu lugar: en cada fotograma, un intervalo de crecemento cadrático determina se avanzar o realzado, producindo unha desaceleración de estilo máquina tragamoedas que sempre para no gañador predeterminado.
- 4O resultado revélase e rexístrase no historial da sesiónUn setTimeout dispárase cando a animación remata (1,3 s para a moeda, 4,3 s para a roda) e escribe o resultado no estado. O modo moeda mantén un historial de sesión de ata 24 tiradas con recontos de cara/cruz. Os usuarios con prefers-reduced-motion activado omiten a animación por completo e ven o resultado de inmediato.
Ferramentas relacionadas
Ruleta Xiratoria
Escribe unha lista de nomes ou opcións, xira a ruleta e deixa que escolla unha ao chou, cun son de tic, confeti e a opción de eliminar cada gañador.
Xerador de números aleatorios
Xera números aleatorios en calquera rango, crea listas de números únicos ou lanza dados. Usa aleatoriedade criptograficamente segura.
Xerador de equipos aleatorios
Divide una lista de nomes en equipos aleatorios equilibrados — por número de equipos ou tamaño de equipo. Mestura criptograficamente xusta, redistribución instantánea.