PK Systems PK Systems
Generadores

Ruleta de Decisión

Escribe tus opciones, haz girar y deja que la ruleta decida. Guarda y comparte con un enlace copiable.

Ruleta de Decisión

Una opción por línea. La ruleta se actualiza en vivo.

Ganador

Qué hace esta herramienta

Hace girar una ruleta justa y aleatoria sobre cualquier lista de opciones que escribas — la versión digital de sacar un nombre del sombrero. Útil para elegir qué comer, formar equipos, hacer un sorteo justo, decidir quién prepara el siguiente café o resolver cualquier "no sé, elige tú". Cada opción se vuelve un sector colorido de la ruleta; el puntero del top cae sobre el sector donde gires. La aleatoriedad viene de crypto.getRandomValues() con un pequeño jitter por sector para que el resultado parezca vivo incluso con dos opciones. Tras elegir un ganador, puedes eliminarlo y volver a girar — útil para sorteos o drafts. La ruleta actual puede compartirse como hash de URL; quien abra el enlace ve las mismas opciones sin login ni sincronización.

Cómo usarlo

Escribe tus opciones en el textarea — una por línea. La ruleta se renderiza en vivo, con hasta una docena de colores distintos rotando entre sectores. Pulsa Hacer girar; la ruleta da varias vueltas más un desplazamiento aleatorio de aterrizaje, y el puntero arriba revela el ganador. Usa Eliminar ganador para quitar la opción ganadora (genial para sorteos donde cada nombre solo gana una vez). Mezclar aleatoriza el orden de los sectores — útil si quieres otro layout visual. Copiar enlace serializa las opciones actuales en un hash de URL para que cualquiera que abra el enlace vea la misma ruleta.

Cómo funciona el giro

Cada opción ocupa 360° / N de la ruleta. Para girar, sorteamos un entero de 32 bits con crypto.getRandomValues(), lo tomamos módulo N para elegir el sector ganador y añadimos un pequeño jitter dentro del sector para que el puntero aterrice en un punto creíble en lugar de siempre en el centro. La ruleta gira de 5 a 7 vueltas completas más el ángulo de aterrizaje, con una curva CSS cubic-bezier que decelera en 3,6 segundos — suficiente para sentirse real, corto para no aburrir. Los enlaces compartidos serializan la lista como JSON en base64 url-safe en un hash #wheel=. Los datos del hash nunca llegan al servidor; la URL es una carga autocontenida.

Para qué se usa

Algunos casos comunes — pero cualquier cosa que entre en un textarea funciona.

Caso de uso Opciones de ejemplo
Elegir restaurantePizza, sushi, hamburguesas, tailandés, indio
Sorteo en oficinaNombres del equipo — quita cada ganador
Sorteo en claseNombres de alumnos para quién contesta
Elegir juegoMario Kart, Smash, Catán, Codenames

Preguntas frecuentes

¿El giro es realmente aleatorio?
Sí. El sector ganador se elige con crypto.getRandomValues(), que es un CSPRNG — todas las opciones tienen la misma probabilidad. La rotación visual es solo animación encima de un resultado ya decidido.
¿Puedo compartir mi ruleta?
Sí. Pulsa Copiar enlace y las opciones actuales se serializan en el hash de la URL. Manda el enlace a quien quieras — verá exactamente la misma ruleta sin login.
¿Puedo hacer un sorteo?
Sí — para eso está Eliminar ganador. Gira, el ganador queda destacado, pulsa eliminar y vuelve a girar. Cada nombre solo gana una vez.
¿Cuántas opciones aguanta la ruleta?
Visualmente, alrededor de 30-40 sigue siendo legible. Más allá, las etiquetas de sector se truncan. La aleatoriedad aguanta miles, pero la ruleta se vuelve un borrón de color.
¿El enlace compartido sube mi lista?
No. Los datos del hash de URL (lo que va tras #) nunca los envían los navegadores al servidor. El navegador del receptor decodifica la lista localmente.
¿Por qué mezclar redibuja la ruleta?
Mezclar aleatoriza el orden de los sectores en la ruleta — útil si quieres otro layout antes de girar, o si el orden anterior parecía agrupado visualmente (todos los sectores azules de un lado, por ejemplo).