Roleta de Decisão
Deixe a roleta decidir por você, adeus indecisão
Sem registros ainda — gire a roleta!
O que é uma Roleta de Decisão?
A roda de decisão seleciona aleatoriamente uma opção de uma lista e transforma uma escolha pequena em um processo visível e compartilhado. Ela é útil em aulas, atividades de equipe, escolha de comida, ordem de apresentações, sorteios leves, brainstorming e situações em que várias opções são aceitáveis. Seu valor é reduzir fadiga de decisão e tornar a seleção transparente. Ela não substitui julgamento quando opções têm riscos, custos, regras de justiça ou responsabilidades diferentes. Para sorteios sérios, lista de participantes, pesos, exclusões e registro devem ser definidos antes de girar para que o resultado seja explicável. Funciona melhor em decisões de baixo risco.
Como usar
Como usar
- Digite o nome de uma opção no campo de entrada, pressione Enter ou clique em Add
- Adicione várias opções (até 15), cada uma com no máximo 20 caracteres
- Clique no botão central 'SPIN'; a roda começa a girar
- Aguarde a roda parar para ver o resultado selecionado aleatoriamente
Dicas de imparcialidade
- Mantenha as opções curtas e comparáveis para que todos consigam ler a roda com facilidade antes de girar.
- Para decisões importantes, combine a lista de opções antes de girar e evite alterar entradas após um resultado desfavorável.
Casos de uso
Princípio técnico
A roda é um desenho Canvas 2D sobreposto com uma escolha aleatória determinística. Cada fatia é renderizada com ctx.beginPath(); ctx.moveTo(cx, cy); ctx.arc(cx, cy, r, startAngle, endAngle); ctx.fill() onde N opções iguais recebem um arco de 2π/N radianos cada — quinze fatias resultam em 24° de arco cada, o que também explica por que a entrada é limitada a 15 para manter os rótulos legíveis. A fatia vencedora é decidida ANTES da animação: um inteiro sem sinal de 32 bits é sorteado com crypto.getRandomValues(new Uint32Array(1))[0], reduzido módulo N, e esse inteiro é a resposta. A animação então calcula uma rotação-alvo de fullSpins × 2π + (2π − winnerIndex × sliceAngle − sliceAngle/2) para que o ponteiro no topo do canvas termine apontando para o centro da fatia escolhida, e faz a transição dentro de requestAnimationFrame usando uma curva de suavização como easeOutCubic, f(t) = 1 − (1−t)³, ou easeOutBack para o pequeno ultrapassagem que simula uma roda física desacelerando. crypto.getRandomValues é o CSPRNG do Web Crypto (especificado na Web Crypto API), semeado pelo pool de entropia do sistema operacional, então, ao contrário de Math.random, a escolha não pode ser prevista lendo o estado da página. Variantes com peso constroem um array de probabilidade acumulada de tamanho N e fazem busca binária no sorteio aleatório em O(log N). As saídas são inteiramente visuais e efêmeras — nada é registrado, então qualquer trilha de auditoria (timestamp, lista de opções, captura de tela) deve ser capturada externamente antes que a página seja atualizada.
- Renderização Canvas: cada fatia é ctx.arc(cx, cy, r, startAngle, endAngle) com sliceAngle = 2π / N — 15 opções dão 24° por fatia, que é o limite prático de legibilidade.
- A seleção do vencedor usa crypto.getRandomValues(new Uint32Array(1))[0] % N — CSPRNG do Web Crypto, semeado pela entropia do SO, adequado para sorteios justos de uso único, mas NÃO para loterias reproduzíveis (sem trilha de auditoria).
- A animação roda em requestAnimationFrame na taxa de atualização do display (tipicamente 60 Hz) com easeOutCubic f(t) = 1 − (1−t)³ ou easeOutBack para um leve ultrapassagem — a curva é cosmética, o vencedor já foi escolhido.
- A rotação final é targetRotation = fullSpins × 2π + (2π − winnerIndex × sliceAngle − sliceAngle/2) para que o ponteiro superior caia no centro da fatia, não na borda.
- O modo de opções com peso constrói um array de soma prefixa dos pesos e usa busca binária para mapear um número aleatório uniforme em uma fatia em O(log N) — equivalente a amostragem por inversa da CDF.
- O viés do módulo é desprezível quando N ≤ 15 e o sorteio tem 2³² valores de amplitude (viés ≈ N / (2 × 2³²) ≈ 1,7×10⁻⁹), então nenhum loop de rejeição é necessário.
- Cada giro é i.i.d. — giros consecutivos podem repetir a mesma opção e isso é comportamento uniforme correto, não um bug; deduplicação entre giros requer um registro externo.
Exemplos
Decisão de almoço
Opções: Pizza, Sushi, Hambúrgueres, Tacos, Salada → Girar → Resultado: SushiAtividade em equipe
Opções: Boliche, Karaokê, Escape Room, Mini Golfe → Girar → Resultado: Escape RoomNoite de cinema
Opções: Ação, Comédia, Terror, Romance, Ficção Científica → Girar → Resultado: ComédiaPerguntas frequentes
O giro da roleta é realmente aleatório?
Sim. O segmento selecionado é escolhido por crypto.getRandomValues, e depois a roleta é animada para parar nele. O giro visual é só efeito — o resultado é decidido antes. Cada giro é independente dos anteriores.
Todos os segmentos têm a mesma probabilidade?
Sim. Cada opção recebe uma fatia do mesmo tamanho e cada fatia tem a mesma probabilidade. Não há modo ponderado nem enviesado — todas as opções têm a mesma chance de serem sorteadas.
A animação do giro afeta o resultado?
Não. A animação é decorativa — o resultado é calculado primeiro, e depois a roleta gira para mostrá-lo. Mesmo que você interrompa a animação antes do fim, o segmento escolhido é o mesmo.
Posso salvar a roleta entre sessões?
Não. As opções ficam guardadas só durante a sessão atual. Fechar a aba ou atualizar perde a lista. Copie suas opções antes de fechar se precisar reutilizá-las.
Devo usar para tomar decisões importantes?
Use para escolhas em grupo de baixo impacto (almoço, ordem de apresentação, sorteio de pick) em que qualquer opção é aceitável e a aleatoriedade visível evita melindres. Não terceirize decisões em que as consequências variam muito entre as opções — a roleta não consegue avaliar trade-offs.
Por que ela às vezes escolhe a mesma opção duas vezes seguidas?
Cada giro é independente. Com três opções, a probabilidade de duas escolhas iguais seguidas é 1/3 ≈ 33%. Com dez opções, é 10%. A repetição parece estranha, mas é matematicamente esperada em um sorteio genuinamente aleatório.
Minha lista de opções é enviada para algum servidor?
Não. A roleta roda inteiramente no seu navegador. As opções são salvas localmente se você optar; nada é transmitido.
Ferramentas relacionadas
Teste de Velocidade de Reação
Ferramenta de teste de velocidade de reação online gratuita. Teste seu tempo de reação do sinal ao clique, rastreie sua melhor pontuação e média, desafie seus limites.
Simulador de Atualização do Sistema
Simulador de atualização online gratuito. Simule telas do Windows Update, macOS, Linux apt upgrade e Android. Tela cheia, clique para sair. Perfeito para pregar amigos.
Simulador de Tela Azul
Simulador de tela azul online gratuito. Simule telas BSOD do Windows, Kernel Panic do macOS, crash do Linux e ANR do Android. Tela cheia, clique para sair. Perfeito para pregar amigos ou testar telas.
Jogo de Alfinete (Pin Spin)
Jogo de navegador estilo AA: lance agulhas em um disco giratório sem atingir as já fixadas. 10 níveis com velocidade crescente, jogue sem instalar nada.
Teste de Velocidade de Cliques
Teste online de velocidade de cliques. Meça seus cliques por segundo (CPS) com modos de 5s, 10s, 30s. Acompanhe seu recorde e desafie sua velocidade.
Teste de Cálculo Mental
Teste de cálculo mental online e gratuito para medir a sua velocidade e precisão em adições, subtrações, multiplicações e divisões. Escolha a dificuldade.
