As ferramentas
A roleta de nomes escolhe uma entrada de uma lista que colas, o gerador de equipas divide nomes em grupos equilibrados, o gerador de números tira inteiros de um intervalo, e as outras ferramentas cobrem moedas, dados, sim/não, ordem de listas e letras aleatórias.
Como funciona a aleatoriedade
A API Web Crypto do browser fornece valores brutos de 32 bits (crypto.getRandomValues). Para um inteiro limitado, valores fora de um múltiplo do intervalo são rejeitados e sorteados outra vez, por isso cada inteiro no intervalo é igualmente provável. Não há recurso a Math.random em lado nenhum deste sítio.
Como a roleta escolhe um vencedor
O vencedor é sorteado primeiro com esse inteiro uniforme. A rotação da roleta é depois calculada para o centro desse segmento parar exatamente sob o ponteiro; a animação só se move em direção a esse alvo fixo. A edição fica bloqueada enquanto a roleta gira, por isso o vencedor anunciado é sempre o segmento em repouso.
Equipas e números
- As equipas são feitas baralhando a lista com Fisher-Yates e distribuindo nomes à vez: cada nome aparece uma vez e os tamanhos diferem no máximo em um.
- Quando a repetição está desligada, os números são tirados com uma amostra Fisher-Yates esparsa — o tempo e a memória dependem de quantos números pedes, não da largura do intervalo.
- Os duplicados na tua lista ficam por predefinição; cada cópia conta como entrada própria até os removeres explicitamente.
- As equipas podem ser feitas por um número de equipas ou por um tamanho máximo de grupo: a distribuição à vez mantém os tamanhos a um de diferença, e nenhum grupo é maior do que o tamanho que definiste.
- Os históricos de sessão (moedas, dados, sim/não) ficam na memória da página e desaparecem quando fechas ou recarregas o separador.
O que fica no teu dispositivo
Cada entrada, equipe e número é processado na página. Nada é enviado e as entradas das ferramentas nunca vão para a análise. A roleta de nomes e o gerador de equipes guardam listas nomeadas neste navegador somente quando você pressiona um botão de salvar; arquivos JSON e links de compartilhamento também são criados localmente. Mantenha cada turma ou reunião em uma lista separada e exclua as que não precisar mais.
Acessibilidade
Resultados e erros são anunciados a leitores de ecrã, a roleta pode ser girada pelo teclado, os controlos mantêm o foco visível, e as animações recolhem quando o sistema pede movimento reduzido.