Saltar ao contido principal
LibraTool logoLibraTool

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.

Funciona sen conexión unha vez cargado

🔒 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.

  1. 1
    Web Crypto escolle o gañador
    Antes 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.
  2. 2
    O ángulo de rotación calcúlase para caer no resultado
    Para 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.
  3. 3
    As transicións CSS e requestAnimationFrame conducen a animación
    A 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.
  4. 4
    O resultado revélase e rexístrase no historial da sesión
    Un 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

Preguntas frecuentes