Como o sorteio decide
Quem participa
Todos os confirmados e presentes da rodada (precisa de pelo menos 2). Quem está na lista de espera não entra.
Goleiros primeiro
Os goleiros titulares (1 por time, ou o que a config disser) são distribuídos equilibrando contagem e soma de peso. Goleiro excedente vira jogador a distribuir — você ajusta depois se ele for para a linha.
Linha por posição
Defensores, meias e atacantes são embaralhados e distribuídos posição a posição, de modo que nenhum time fique com mais de 1 jogador a mais numa posição.
Balanceamento fino
O app testa trocas 1×1 entre jogadores da mesma posição e aplica as que reduzem a diferença de peso total entre os times.
É uma proposta
Nada é salvo no sorteio: sorteie quantas vezes quiser (cada clique embaralha de novo), arraste jogadores entre os times e só então Salvar formação — aí sim os times ficam públicos.
📍 Rodada → Sorteio
Formação e o aviso de fallback
A formação da config (ex.: 2-3-2 = defesa-meio-ataque) precisa somar, com o goleiro, o total de jogadores por time. Se numa noite faltar gente de alguma posição (ex.: só 1 defensor), o sorteio segue normalmente e mostra o aviso de que a formação não pôde ser atendida — é informativo, não um erro: os times continuam equilibrados por peso.
- Sorteio usa só quem está presente/confirmado no momento — se alguém chegar depois, sorteie de novo ou encaixe na mão.
- Jogadores adicionais por time (config) engordam os times além da formação — eles entram na distribuição normalmente.
- O sorteio usa o formato daquela rodada: se você ajustou o ✎ para 3 times de 5, é isso que ele monta, sem tocar na config da pelada.
- Salvar a formação substitui a anterior por inteiro e cria o 1º jogo da noite no placar.
- O peso de cada um nunca aparece nas páginas públicas — só o organizador vê.