ToolActToolAct

Ruleta de Decisiones

Deja que la ruleta decida por ti, di adiós a la indecisión

Lista de Opciones8/15
🍕 吃火锅
🎮 打游戏
📺 追剧
📚 看书
🚶 散步
🛌 睡觉
🎵 听音乐
🧹 做家务
Historial de premios

Aún no hay registros — ¡hazlo girar!

¿Qué es una Ruleta de Decisiones?

Una Ruleta de Decisiones es una herramienta divertida que te ayuda a tomar decisiones. Cuando no puedas decidir entre múltiples opciones, ingrésalas todas en la ruleta, haz clic en girar y deja que el azar decida por ti.

Casos de uso comunes:

  • ¿Qué comer hoy? Añade tus opciones de restaurantes a la ruleta
  • ¿A dónde ir este fin de semana? Añade destinos a la ruleta
  • ¿Qué película ver? Añade opciones de películas a la ruleta
  • Decisiones de actividades de equipo, selección justa e imparcial

Cuando se usa con otras personas, entradas, supuestos y resultado esperado deben quedar claros para evitar malinterpretaciones.

Cómo usar

Cómo usar

  1. Introduce el nombre de una opción en el campo de entrada y pulsa Intro o haz clic en Añadir
  2. Añade varias opciones (hasta 15), cada una con un máximo de 20 caracteres
  3. Haz clic en el botón central 'GIRAR'; la rueda comienza a girar
  4. Espera a que la rueda se detenga y consulta el resultado seleccionado al azar

Consejos de imparcialidad

  • Mantén las opciones cortas y comparables para que la rueda sea fácil de leer para todos antes de girar.
  • Para decisiones importantes, acuerda la lista de opciones antes de girar y evita cambiar entradas tras ver un resultado desfavorable.

Casos de uso

Girar una ruleta visible para decisiones grupalesAñade opciones una a una, pulsa Intro para añadir rápidamente y gira la ruleta de lienzo cuando una clase, reunión, retransmisión o decisión familiar necesite una selección aleatoria transparente. El resultado se elige antes de que empiece la animación usando crypto.getRandomValues, así que la curva de desaceleración es decorativa y la misma semilla reproducida sin conexión caería en el mismo segmento. Usa esto para ensayar una ronda práctica reproducible antes de pasar a la retransmisión en directo.
Mantener la lista de opciones lo suficientemente pequeña para leerlaLa ruleta limita las entradas a 15 y trunca el texto largo en los segmentos, lo que la hace más adecuada para nombres, tareas, temas, recompensas, tareas del hogar o elecciones cortas de restaurante que para descripciones largas. Con dos entradas la ruleta funciona como un volado, mientras que con quince segmentos cada uno cubre solo 24 grados de arco, así que las etiquetas de más de un par de palabras resultan difíciles de leer. Mantén las opciones lo bastante cortas como para que el público pueda leerlas durante el giro.
Reiniciar entre decisiones no relacionadasUsa reiniciar o recarga las opciones por defecto antes de una nueva ronda para que las entradas antiguas, los colores, la rotación y el resultado previo no confundan la siguiente elección. Cada giro obtiene un resultado independiente e idénticamente distribuido del conjunto de segmentos restante, así que las selecciones consecutivas pueden repetirse y eso es un comportamiento uniforme correcto, no un error. Define la lista de participantes y las reglas antes de usarlo para algo público, ya que la ruleta no guarda registro de ganadores anteriores.
Colorear los segmentos para que el resultado sea legible en la retransmisiónAsigna colores de segmento contrastantes para presentaciones, clases o retransmisiones para que el público pueda seguir en qué opción cae la ruleta sin adivinar por etiquetas truncadas. Alternar segmentos brillantes y apagados también ayuda a que la posición final de reposo destaque cuando la ruleta desacelera, y emparejar el color más brillante con la etiqueta más propensa a leerse mal elimina una clase de errores en pantalla antes de que ocurran. Prueba el diseño al tamaño de pantalla que verá tu público, ya que las retransmisiones móviles suelen recortar los bordes de la ruleta.
Documentar las reglas antes de un sorteo o rifaCuando haya un premio real, asignación de turno o selección de participantes de por medio, anota la lista de entradas, exclusiones y fecha antes de girar para que el resultado pueda explicarse después. Captura la lista de opciones, la marca de tiempo del giro y una captura de pantalla del segmento de reposo, ya que la ruleta en sí no almacena un registro de auditoría y una reconstrucción posterior de la misma lista no reproducirá el mismo giro. Trata la captura de pantalla como el recibo cuando al día siguiente surge la pregunta de 'por qué salió este nombre'.

Principio técnico

La ruleta es un dibujo Canvas 2D combinado con una selección aleatoria determinista. Cada segmento se renderiza con ctx.beginPath(); ctx.moveTo(cx, cy); ctx.arc(cx, cy, r, startAngle, endAngle); ctx.fill(), donde N opciones iguales toman un arco de 2π/N radianes cada una; quince segmentos equivalen a 24° de arco cada uno, lo cual también explica por qué la entrada está limitada a 15 para mantener las etiquetas legibles. El segmento ganador se determina ANTES de la animación: se extrae un entero sin signo de 32 bits con crypto.getRandomValues(new Uint32Array(1))[0], se reduce módulo N, y ese entero es la respuesta. La animación calcula entonces una rotación objetivo de fullSpins × 2π + (2π − winnerIndex × sliceAngle − sliceAngle/2) de modo que el puntero en la parte superior del canvas termina apuntando al centro del segmento elegido, y se interpola hacia él dentro de requestAnimationFrame usando una curva de suavizado como easeOutCubic, f(t) = 1 − (1−t)³, o easeOutBack para el ligero exceso que simula una ruleta física desacelerándose. crypto.getRandomValues es el CSPRNG de Web Crypto (especificado en la Web Crypto API), sembrado desde el pool de entropía del SO, por lo que, a diferencia de Math.random, la selección no puede predecirse leyendo el estado de la página. Las variantes con pesos construyen un array de probabilidad acumulada de longitud N y buscan binariamente la extracción aleatoria en O(log N). Las salidas son enteramente visuales y efímeras; no se registra nada, por lo que cualquier rastro de auditoría (marca de tiempo, lista de opciones, captura de pantalla) debe capturarse externamente antes de actualizar la página.

  • Renderizado Canvas: cada segmento es ctx.arc(cx, cy, r, startAngle, endAngle) con sliceAngle = 2π / N; 15 opciones dan 24° por segmento, que es el límite práctico de legibilidad.
  • La selección del ganador usa crypto.getRandomValues(new Uint32Array(1))[0] % N, el CSPRNG de Web Crypto sembrado desde la entropía del SO, adecuado para sorteos justos de un solo uso pero NO para loterías reproducibles (no hay rastro de auditoría).
  • La animación se ejecuta en requestAnimationFrame a la frecuencia de refresco de la pantalla (típicamente 60 Hz) con easeOutCubic f(t) = 1 − (1−t)³ o easeOutBack para un ligero exceso; la curva es cosmética, el ganador ya está elegido.
  • La rotación final es targetRotation = fullSpins × 2π + (2π − winnerIndex × sliceAngle − sliceAngle/2) para que el puntero superior caiga en el centro del segmento, no en su borde.
  • El modo de opciones ponderadas construye un array de suma de prefijos de pesos y usa búsqueda binaria para mapear un número aleatorio uniforme a un segmento en O(log N), equivalente a muestreo por inversa de la CDF.
  • El sesgo del módulo es despreciable cuando N ≤ 15 y la extracción tiene un rango de 2³² valores (sesgo ≈ N / (2 × 2³²) ≈ 1,7×10⁻⁹), por lo que no se necesita un bucle de muestreo por rechazo.
  • Cada giro es i.i.d.; los giros consecutivos pueden repetir la misma opción y eso es un comportamiento uniforme correcto, no un error; la deduplicación entre giros requiere un registro externo.

Ejemplos

Decisión de almuerzo

Opciones: Pizza, Sushi, Hamburguesas, Tacos, Ensalada → Girar → Resultado: Sushi

Actividad de equipo

Opciones: Bolos, Karaoke, Escape Room, Minigolf → Girar → Resultado: Escape Room

Noche de cine

Opciones: Acción, Comedia, Terror, Romance, Ciencia ficción → Girar → Resultado: Comedia

Preguntas frecuentes

¿El giro de la ruleta es realmente aleatorio?

Sí. El segmento ganador se elige con crypto.getRandomValues y luego la ruleta se anima para detenerse en él. El giro visual es solo espectáculo: el resultado se decide antes. Cada giro es independiente de los anteriores.

¿Todos los segmentos tienen la misma probabilidad?

Sí. Cada opción ocupa una porción del mismo tamaño y todas las porciones tienen la misma probabilidad. No hay un modo ponderado ni sesgado: todas las opciones tienen la misma posibilidad de salir.

¿La animación del giro influye en el resultado?

No. La animación es decorativa: primero se calcula el resultado y luego la ruleta gira para mostrarlo. Aunque detengas la animación antes de tiempo, el segmento elegido es el mismo.

¿Puedo guardar la ruleta entre sesiones?

No. Las opciones se mantienen solo durante la sesión actual. Si cierras la pestaña o recargas, pierdes la lista. Cópiala antes de cerrar si vas a volver a usarla.

¿Debería usarla para tomar decisiones importantes?

Úsala para elecciones de grupo de poca trascendencia (qué comer, orden de presentaciones, sorteos) en las que cualquier opción sea aceptable y la aleatoriedad visible evite roces. No delegues en ella decisiones cuyas consecuencias varíen mucho de una opción a otra: la ruleta no puede sopesar pros y contras.

¿Por qué a veces sale la misma opción dos veces seguidas?

Cada giro es independiente. Con tres opciones, la probabilidad de que salga la misma dos veces seguidas es 1/3 ≈ 33 %. Con diez opciones, es del 10 %. La repetición sorprende, pero es matemáticamente esperable en una selección verdaderamente aleatoria.

¿Se sube mi lista de opciones a algún servidor?

No. La ruleta se ejecuta por completo en tu navegador. Las opciones se guardan en local si así lo eliges; no se transmite nada.