Sorteador de times e grupos
Cole os nomes e diga em quantos times dividir — ou de quantas pessoas cada time deve ser. A lista é embaralhada pelo gerador criptográfico do seu navegador e repartida em grupos do mesmo tamanho, com a sobra distribuída.
Quem caiu em cada time
O botão de rodadas leva a sessão inteira, com a hora e a lista de cada divisão — é o que responde a "e se você tivesse sorteado até dar no time que queria?".
Como melhorar esta calculadora?
Faltou uma verba, o número saiu diferente ou alguma palavra ficou confusa? Escreva.
Abre seu programa de e-mail com o assunto e a página já preenchidos, e com as perguntas que ajudam a entender o caso. Sem formulário, sem cadastro, sem cookie.
publicidade
Por que a sobra não pode virar gente de fora
Onze pessoas, três times. A conta que quase toda ferramenta parecida faz é
11 ÷ 3 = 3, monta três times de três e some com as duas pessoas que sobraram.
Na tela fica bonito — três times iguais —, e na quadra sobram dois adolescentes esperando
alguém perceber. Esse é o erro, e é o único que importa nesta página.
A divisão certa é 4 + 4 + 3: o resto da divisão é repartido um a um entre os primeiros times, nunca acumulado num só e nunca descartado. Duas propriedades saem daí, e elas são o contrato da ferramenta:
- A união dos times é exatamente a sua lista. Ninguém some e ninguém é clonado — as parcelas somam o total, e é por isso que o resultado aparece escrito como soma no alto da tela, e não como uma lista solta de times.
- Os tamanhos nunca diferem em mais de 1. Não existe 5 + 5 + 1: se um time ficaria com o dobro do outro, é porque a divisão está errada, não porque o mundo é assim.
A mesma regra vale no modo "quantos por time", e ali ela surpreende mais. Dez pessoas em grupos de quatro não viram 4 + 4 + 2 — viram 4 + 3 + 3. O tamanho que você digitou é um alvo, e um grupo de dois ao lado de dois grupos de quatro é exatamente o desequilíbrio que você estava tentando evitar quando escolheu o tamanho.
Uma consequência prática que vale saber antes de a partida começar: como a sobra vai sempre para os primeiros times, quando os tamanhos são desiguais é o Time 1 que tem o jogador a mais. Se isso importa no seu jogo, é ali que entra o goleiro, o juiz ou quem vai revezar.
De onde vem o acaso desta divisão
A ordem das duas operações é o que faz o sorteio existir: a lista inteira é embaralhada primeiro, e só depois cortada em times. Cortar a lista na ordem em que ela foi colada e chamar isso de sorteio é um defeito que passa despercebido porque os tamanhos ficam certos — 4 + 4 + 3, tudo somando —, só que os quatro primeiros nomes que você digitou continuam juntos em todas as rodadas.
O embaralhamento é Fisher-Yates, e cada troca dele pede um número ao
crypto.getRandomValues() do seu navegador, que vem do gerador do próprio
sistema operacional — o mesmo que produz chaves criptográficas. Não há semente, não há
relógio, não há contador.
Há um segundo cuidado, e ele é onde a maioria dos sorteadores erra sem que ninguém perceba.
O gerador entrega um número entre 0 e 4.294.967.295 (são 232 valores), e para
virar uma posição da sua lista o caminho óbvio é tirar o resto da divisão com
%. Quando o tamanho da lista não divide 232 — e quase nunca divide
—, sobra uma cauda incompleta, e os primeiros nomes passam a sair um tiquinho mais que os
últimos: é o viés de módulo. Numa lista de 10 a distorção é invisível; num sorteio de
1.000 é a diferença entre justo e não justo. O motor deste site descarta a cauda em vez de
dobrá-la, e é o mesmo motor do Sorteador de números, do
Cara ou coroa e das demais páginas de sorteio.
Vale nomear ainda o erro mais copiado da internet, porque ele aparece em quase todo
tutorial de "dividir array aleatoriamente":
sort(() => Math.random() - 0.5) não embaralha. Um comparador
incoerente faz o algoritmo de ordenação percorrer caminhos que dependem da implementação, e
a distribuição que sai é visivelmente torta — algumas pessoas terminam quase sempre no
mesmo time.
Na quadra e na sala de aula
Os dois modos existem porque duas cabeças diferentes chegam aqui, e cada uma já sabe a resposta que quer.
- Pelada, vôlei, queimada. Quem organiza jogo pensa em times: "somos 11, faz dois times". Modo "quantos times", número 2, e a divisão sai 6 + 5. A tela mostra a soma antes dos nomes justamente para o grupo inteiro conferir de longe que ninguém ficou de fora — é a pergunta que aparece toda vez.
- Trabalho em grupo, dinâmica, oficina. Quem organiza sala pensa em tamanho: "grupos de 4, porque são quatro tarefas". Modo "quantos por time", número 4, e a turma de 26 vira sete grupos — cinco de 4 e dois de 3, sem nenhum grupo de um aluno só.
- Rodízio e revezamento. Dividir uma vez e jogar a tarde inteira com os mesmos times é o que faz o time perdedor desistir. Toque em Dividir de novo entre as partidas: cada rodada embaralha tudo, e a lista permanece no campo.
- Chaveamento de torneio. Aqui o que se divide não são pessoas, são duplas ou equipes já formadas — cole o nome de cada equipe numa linha e divida em grupos. Vale a mesma regra da sobra, que é o que evita o grupo da morte com um time a mais.
Se o que você precisa não é repartir e sim tirar alguém, a página é outra: o Sorteador de nomes sorteia ganhadores de uma lista de nomes, o Sorteador online faz o mesmo com qualquer lista e ainda embaralha a ordem inteira, e a Roleta de nomes gira uma roda na frente de todo mundo, que é o formato certo quando há plateia. As demais estão em geradores, e as contas do dia a dia em calculadoras de utilidades.
Quando os times precisam ser parelhos de verdade
Aqui vale ser honesto, porque é onde uma ferramenta de sorteio costuma prometer o que não pode cumprir: esta página sorteia, ela não sabe quem joga bem. Times de tamanho igual não são times de força igual. Se os três melhores jogadores caírem no mesmo lado, a divisão foi perfeitamente aleatória e o jogo, perfeitamente sem graça.
A saída prática não é uma opção escondida no formulário, é um método, e ele leva trinta segundos: sorteie dentro de faixas.
- Separe as pessoas em faixas de nível parecido — os mais fortes, os intermediários, os que estão começando. Três faixas costumam bastar; quem conhece o grupo faz isso de cabeça.
- Cole só a primeira faixa e divida no número de times que você quer. Anote o resultado.
- Cole a faixa seguinte, divida no mesmo número de times, e junte cada grupo a um time da rodada anterior. Repita até acabar as faixas.
O que esse método preserva é o que interessa: ninguém escolhe amigo. A parte subjetiva — quem é forte — fica visível e combinada antes, na frente do grupo; a parte que gera discussão — quem joga com quem — continua sorteada. É o contrário do "capitão escolhe", em que a parte subjetiva decide tudo e sempre sobra a mesma pessoa por último.
Se o grupo empacar em qualquer decisão binária no meio disso — quem começa, quem escolhe o lado do campo, quem fica com o colete —, o Cara ou coroa resolve num toque e sem discussão.
Perguntas frequentes
O que acontece quando sobra gente?
A sobra entra nos primeiros times, uma pessoa em cada — e ninguém fica de fora. Onze pessoas em três times dão 4, 4 e 3, nunca 3, 3, 3 com duas pessoas encostadas na parede. É o erro mais comum das ferramentas parecidas: elas dividem, arredondam para baixo e simplesmente descartam o resto da lista sem avisar. Aqui a divisão aparece somada na tela (4 + 4 + 3) justamente para você conferir de relance que as parcelas fecham no total.
Como faço um sorteador de grupos com tamanho fixo?
Troque o modo para "quantos por time" e diga o tamanho: em vez de dizer que quer três grupos, você diz que quer grupos de quatro. A página calcula quantos grupos cabem e reequilibra. Repare que ela reequilibra mesmo: dez pessoas em grupos de quatro viram 4, 3 e 3, e não 4, 4 e 2. O tamanho que você digita é um alvo, não uma cota fechada — o que a ferramenta protege é o equilíbrio entre os grupos.
A divisão é mesmo aleatória?
É. A lista inteira é embaralhada com Fisher-Yates antes de qualquer corte, e cada troca do embaralhamento vem do gerador criptográfico do seu navegador (crypto.getRandomValues), o mesmo que cria chaves. Só depois de embaralhada é que a lista é fatiada nos times. Não há semente, não há relógio e não há o resto de divisão que faria os primeiros nomes caírem no time 1 mais vezes que os outros.
Dá para equilibrar os times por habilidade?
A página sorteia; ela não sabe quem joga bem. Sortear tamanho igual não é sortear força igual, e fingir o contrário seria mentira. O que funciona na prática é sortear por faixas: separe os jogadores em grupos de nível parecido, sorteie primeiro os mais fortes entre os times, depois a faixa seguinte, e assim por diante. Cada rodada é uma divisão nova, e o resultado sai equilibrado sem ninguém escolher amigo.
A minha lista é enviada para algum servidor?
Não. Não há requisição de rede em nenhum ponto: o gerador é do navegador, a conta é do navegador e as rodadas vivem só na memória da aba — recarregar a página zera tudo. Até o botão de compartilhar respeita isso: os nomes vão depois do # do endereço, e o que vem depois do # nunca é enviado ao servidor nem entra em log de acesso. É por isso que dá para colar uma lista com nomes de gente aqui.
Quanta gente cabe, e quantos times?
A lista aceita até 200 nomes e a tela desenha até 12 times. O limite dos times é de apresentação: acima disso a divisão deixa de ser conferível de relance, que é para o que ela serve. Se você precisa de muitos grupos pequenos — uma turma inteira em duplas, por exemplo —, divida em duas rodadas, ou numere os participantes e use o sorteador de números.
Sobre o sorteio: aleatoriedade do gerador criptográfico do seu navegador, sem tabela oficial nem norma envolvida. Sorteio que distribui prêmio pode depender de autorização própria — a divisão ser justa não torna a promoção regular.