Saltar al contenido principal

Cómo funciona el sorteo

Nada de «confía en nosotros, es aleatorio». Este es el método exacto.

El ganador se elige antes de que la ruleta empiece a girar

En cada tirada se determina primero al ganador y después se orienta la animación hacia él. Este orden garantiza que la fuerza del giro no pueda alterar el resultado y que activar la opción de movimiento reducido ofrezca exactamente el mismo sorteo sin animación en lugar de ejecutar una lógica distinta. También significa que el giro que ves es la recreación visual de una decisión ya tomada, que es la única forma de garantizar con rigor ambas promesas.

De dónde procede la aleatoriedad

La fuente es el generador criptográfico de tu navegador, crypto.getRandomValues, y no Math.random. La función Math.random puede ser predecible y en algunos motores lo es; en un sorteo, esa diferencia importa.

Por qué descartamos algunos números

Convertir un número aleatorio de 32 bits en «un número del 0 al 11» mediante el resto de una división introduce un sesgo sutil pero injusto. 2³² no es divisible exactamente entre 12, por lo que las primeras opciones obtienen una probabilidad extra. En una ruleta de doce sectores el sesgo es mínimo, pero existe, favorece siempre a los mismos sectores y nunca se compensa con el tiempo. Por eso, en lugar de usar el resto, descartamos cualquier extracción que caiga en ese margen sobrante y solicitamos una nueva. Supone una tirada extra ocasional a cambio de un resultado matemáticamente uniforme.

const limit = Math.floor(2 ** 32 / max) * max;

let draw = crypto.getRandomValues(new Uint32Array(1))[0];
while (draw >= limit) {
  draw = crypto.getRandomValues(new Uint32Array(1))[0];
}

return draw % max;

Pesos y correspondencia con el tamaño de los sectores

Un sorteo ponderado suma todos los pesos, extrae un número uniforme por debajo de ese total mediante el mismo método de rechazo y comprueba a qué opción corresponde. La ruleta dibuja después cada sector ocupando exactamente su proporción en el círculo. Una ruleta con sectores aparentemente iguales pero probabilidades desiguales sería engañosa; por eso, la superficie y la probabilidad coinciden siempre por diseño y no solo por convención.

Tu lista nunca sale de tu navegador

No requiere cuentas de usuario ni almacenamiento en servidores. Tu lista se guarda únicamente en este navegador y el enlace para compartir incluye la configuración completa en la propia URL. No registramos ningún dato sobre los sorteos.

Compruébalo tú mismo

El código del sorteo ocupa unas pocas decenas de líneas y cada afirmación anterior está respaldada por pruebas automáticas que fallarían si dejaran de cumplirse, incluida una que introduce números diseñados para forzar el sesgo del operador módulo y verifica que el resultado se mantiene uniforme.

Una ruleta admite hasta 1000 opciones, y el método anterior funciona exactamente igual para una sola opción o para las 1000.