Crie uma chave de eliminação simples com folgas automáticas
Cinco times formam uma chave de oito vagas com três folgas para os primeiros cabeças de chave, um jogo de abertura e três rodadas até a final; a mesma lista gera sempre a mesma chave. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Participantes
- North Stars, River Hawks, City Lions, Valley Foxes, Coastal Bears
- Número de participantes
- 5
- Tamanho da chave
- 8
- Número de byes
- 3
- Número de rodadas
- 3
Transforme uma lista ordenada de participantes em uma chave completa de eliminação simples. A ferramenta calcula o próximo tamanho que seja potência de dois, adiciona somente as folgas necessárias e identifica todas as partidas até a final. A ordem de entrada é tratada como ordem de cabeças de chave, tornando o resultado estável, explicável e fácil de reutilizar em páginas de eventos, sistemas de inscrição ou APIs de competições. Não há sorteio aleatório: a mesma lista sempre produz exatamente a mesma chave.
Prepare a lista na ordem dos cabeças de chave
Comece com pelo menos dois nomes e organize-os na ordem que a chave deve reconhecer. A primeira entrada será o cabeça de chave 1, a segunda será o 2 e assim por diante. Os nomes podem representar pessoas, equipes, clubes, escolas, projetos ou outros concorrentes, mas cada item precisa ser uma string não vazia.
Espaços no início e no fim são removidos para manter limpos os rótulos copiados das inscrições. Nomes repetidos são preservados, pois concorrentes diferentes podem compartilhar o mesmo nome de exibição; acrescente cidade, divisão ou código quando for preciso distingui-los. O gerador não embaralha a lista, consulta rankings nem introduz aleatoriedade.
Assim, entradas idênticas sempre geram o mesmo plano. Caso o ranking defina as posições, ordene os nomes antes da chamada. Separar a política de seleção da montagem permite que cada torneio aplique suas próprias regras publicadas sem pressupostos ocultos.
Entenda o tamanho, as partidas e as folgas
Uma chave de eliminação simples funciona naturalmente com tamanhos que são potências de dois: 2, 4, 8, 16 e assim por diante. Quando o número de participantes fica entre esses tamanhos, o gerador usa a menor potência de dois capaz de acomodar todos. A diferença se torna o número de folgas.
Por exemplo, cinco participantes exigem oito vagas, então três cabeças de chave avançam sem jogar e os outros dois disputam a partida inicial. As folgas são atribuídas de modo determinístico aos primeiros cabeças de chave, enquanto os demais são pareados na ordem enviada. Cada partida inicial apresenta nome e posição.
Uma partida com folga também informa quem avança automaticamente. Rodadas posteriores trazem referências como “Vencedor da partida 1”, permitindo conectar resultados sem suposições. A resposta também informa participantes, tamanho da chave, folgas e rodadas, facilitando validações e resumos de exibição.
Use a chave no fluxo do evento
As rodadas retornadas podem alimentar uma visualização de chave, programação impressa, banco de partidas ou checklist operacional. Leia as rodadas e partidas na ordem fornecida. Na abertura, exiba os nomes diretamente; quando houver folga, avance o concorrente indicado sem pedir placar.
Nas fases seguintes, substitua cada referência pelo vencedor da partida citada. A capacidade cria apenas a estrutura: não coleta placares, escolhe vencedores, agenda quadras, resolve desistências nem reorganiza posições. Essas responsabilidades devem continuar na aplicação para que as regras permaneçam explícitas.
Uma boa integração armazena a chave gerada como plano inicial imutável e registra resultados separadamente pelos números das partidas. Isso preserva o histórico mesmo quando alguém desiste ou um resultado é corrigido. Confira a lista final antes da publicação, pois mudar a ordem muda a chave.
Casos de uso
Organizar um torneio comunitário
Converta a lista final de inscrições em uma chave numerada que a equipe possa publicar e operar.
Incluir chaves em software de eventos
Gere partidas previsíveis e referências de avanço assim que as inscrições forem encerradas.
Planejar uma competição interna
Monte uma estrutura eliminatória clara para equipes, jogos, propostas, demonstrações ou disputas escolares.
Perguntas frequentes
Como as folgas são calculadas?
O campo cresce até a menor potência de dois que comporte todos. As vagas vazias tornam-se folgas.
Quem recebe uma folga?
As folgas vão para os primeiros participantes na ordem de cabeças de chave enviada, de forma determinística.
O gerador embaralha os nomes?
Não. Ele nunca usa aleatoriedade. Ordene ou embaralhe a lista antes do envio se o regulamento exigir sorteio.
Dois participantes podem ter o mesmo nome?
Sim. Nomes de exibição repetidos são mantidos, e as posições ainda distinguem cada entrada da chave.
A ferramenta acompanha placares e vencedores?
Não. Ela cria a chave inicial e as referências de avanço; os resultados ficam a cargo da aplicação consumidora.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/game/tournament-bracket-build \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"participants":["North Stars","River Hawks","City Lions","Valley Foxes","Coastal Bears"]}'const res = await fetch("https://api.kit.forhosting.com/game/tournament-bracket-build", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"participants": [
"North Stars",
"River Hawks",
"City Lions",
"Valley Foxes",
"Coastal Bears"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/tournament-bracket-build",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"participants": [
"North Stars",
"River Hawks",
"City Lions",
"Valley Foxes",
"Coastal Bears"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/tournament-bracket-build", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"participants":["North Stars","River Hawks","City Lions","Valley Foxes","Coastal Bears"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"participants":["North Stars","River Hawks","City Lions","Valley Foxes","Coastal Bears"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/tournament-bracket-build", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"participants": [
"North Stars",
"River Hawks",
"City Lions",
"Valley Foxes",
"Coastal Bears"
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.tournament_bracket_build",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Use a chave no fluxo do evento
O navegador serve ao planejamento interativo, enquanto uma solicitação automatizada via API custa US$ 0,002.
Perguntas técnicas
Quantos participantes são necessários?
São exigidos pelo menos dois nomes. Uma lista menor retorna um erro invalid_input.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A experiência no navegador executa localmente a mesma lógica determinística.