Cara o cruz

Lanza una moneda virtual — justo, rápido, con recuento de caras y cruces.

Cómo funciona

Una moneda digital para decidir cuestiones binarias, elegir quién empieza o romper empates cuando ninguna parte cede. El widget extrae un único bit aleatorio de `crypto.getRandomValues` (el mismo generador que usan los navegadores para tokens de seguridad), así que el resultado es exactamente 50/50 — sin atajos sesgados con Math.random. Una breve animación da feedback visual y luego el resultado queda fijado. La tira de historial conserva las últimas 30 tiradas y el contador se actualiza en cada lanzamiento — útil para demostrar imparcialidad o enseñar a los niños la ley de los grandes números.

La fórmula

bit ← crypto.getRandomValues(Uint8Array(1))[0] & 1 resultado ← bit == 0 ? Cara : Cruz

crypto.getRandomValues llena un buffer con bytes aleatorios criptográficamente seguros, generados por un CSPRNG con semilla del sistema operativo. La máscara `& 1` deja solo el bit más bajo, uniformemente 0 o 1 — es decir, exactamente 50/50. Math.random habría dado la misma equidad estadística, pero getRandomValues permite afirmar "imparcial" sin matices sobre detalles de implementación.

Ejemplo de cálculo

  • Pulsa "Lanzar la moneda".
  • Se lee un byte aleatorio; su bit menos significativo decide el resultado.
  • Bit = 0 → Cara. Bit = 1 → Cruz.
  • Tras suficientes tiradas la proporción cara/cruz tiende a 50/50 — la ley de los grandes números en acción.

Preguntas frecuentes

¿Es realmente imparcial o favorece a un lado?

Genuinamente 50/50. Cada tirada toma un byte nuevo del RNG criptográfico del navegador y usa su bit menos significativo. No hay estado oculto, ni "corrección de rachas", ni lógica de "le toca cruz". En muestras pequeñas (10–20 tiradas) verás a menudo rachas de 4–6 caras o cruces seguidas — es comportamiento aleatorio normal, no un sesgo. Tira 1.000 veces y la cuenta quedará a un par de % de 500/500.

¿Por qué la moneda "gira" antes de mostrar el resultado?

Es pura UX. El resultado se decide en el instante en que tocas el botón — se obtiene el bit y se guarda — pero un giro de 480 ms da tiempo al cerebro a registrar que algo pasó. Mostrarlo al instante parece roto ("¿se ha lanzado?") y esperar más de medio segundo se siente lento. 480 ms se acerca a la duración real de una moneda en el aire.

¿Puedo confiar en el resultado para decisiones importantes?

Estadísticamente, sí — las matemáticas son sólidas. Pero la pregunta interesante es si deberías echar la decisión a una moneda. Si lo haces porque realmente te da igual (por dónde ir a comer, quién elige peli), la moneda está bien. Si lo haces porque dos opciones empatan sobre el papel pero secretamente prefieres una, fíjate en tu reacción al ver el resultado — esa reacción visceral es información más útil que el propio lanzamiento.

¿Hay forma de hacer "al mejor de 3" o "al mejor de 5"?

No como modo integrado, pero el contador en vivo y la tira de historial cubren lo mismo. Tira tres veces, mira el recuento y quédate con el lado que tenga 2+. Dicho eso, "al mejor de N" no cambia las probabilidades: si aceptarías una tirada de 50/50, tres con regla de mayoría también son 50/50. Se recurre a ello para aparentar más deliberación de la que se tiene, lo que suele indicar que la decisión necesita otro método, no más tiradas.

Calculadoras relacionadas