Calculadora de fechamento de dardos em três lançamentos
Esta calculadora de fechamentos transforma a pontuação restante em uma saída válida para partidas padrão de 501.
Executar grátis
Informe um inteiro de 2 a 170 e receba uma combinação determinística de até três dardos, sempre com uma dupla ou o bull duplo na última jogada. O resultado traz a notação comum do alvo e os detalhes de cada arremesso sugerido. Se não houver fechamento legal em três dardos, a calculadora retorna um erro claro em vez de apresentar uma rota impossível.
Informe a pontuação restante antes da sua rodada
Use a pontuação exibida após a rodada anterior, antes de lançar qualquer um dos próximos três dardos. A calculadora aceita valores inteiros de 2 a 170, o maior fechamento padrão em três dardos. Em seguida, procura uma rota de um, dois ou três arremessos que termine em uma dupla válida. Por exemplo, 40 pontos restantes podem ser encerrados imediatamente com D20, enquanto um total maior pode exigir triplas antes da dupla final. A resposta segue a abreviação comum: S representa um segmento simples, D uma dupla, T uma tripla, SB o bull simples de 25 pontos e DB o bull duplo de 50. Os objetos detalhados também informam segmento, multiplicador e pontos, o que facilita o uso em interfaces mesmo para quem não conhece as siglas. Digite somente o saldo atual, e não os 501 pontos iniciais nem a soma já marcada na perna.
Entenda o que torna um fechamento válido
A modalidade padrão de 501 usa a regra de saída em dupla: o dardo que reduz a pontuação exatamente a zero precisa atingir uma dupla. O bull duplo é válido porque corresponde ao anel duplo do centro e vale 50 pontos. Simples, triplas e outras duplas podem aparecer antes, mas o último dardo listado sempre será uma dupla. A busca considera apenas alvos reais: simples, duplas e triplas de 1 a 20, além dos bulls simples e duplo. Ela nunca inventa um segmento como T21 nem trata um número simples interno como dupla final. O algoritmo verifica as saídas mais curtas primeiro, portanto retorna um único dardo quando possível e prefere dois arremessos a três. Para rotas do mesmo tamanho, segue uma ordem fixa que favorece triplas altas, bull e duplas, mantendo chamadas repetidas estáveis. A combinação sugerida é matematicamente válida, mas cada jogador pode escolher outra conforme suas duplas favoritas ou sua estratégia.
Reconheça números impossíveis e aplique o resultado
Nem toda pontuação do intervalo aceito pode ser fechada em três dardos. Números impossíveis conhecidos, como 169, 168, 166, 165, 163, 162 e 159, não podem ser obtidos com três acertos legais e uma dupla final. A pontuação 1 também não é um fechamento, pois nenhuma dupla positiva vale um ponto. Quando não há rota, a capacidade retorna um erro de entrada inválida que identifica o valor e explica a restrição de três dardos com saída dupla. Isso é melhor do que sugerir silenciosamente uma jogada de preparação, porque essa rodada não termina a perna e responde a outra pergunta. Você pode usar a resposta em exercícios, placares, folhas de treinamento ou comentários automáticos. O array de combinações é prático para exibição compacta, enquanto o array de dardos permite layouts e validações detalhados. O cálculo é puro e local: não usa perfis, rede, aleatoriedade nem dados ao vivo, portanto a mesma entrada sempre gera a mesma sugestão.
Casos de uso
Planejar um fechamento de liga
Transforme o valor mostrado no placar em uma rota válida antes de iniciar a próxima rodada de três dardos.
Criar treinos de fechamento
Gere alvos estáveis e notação do alvo para sessões repetíveis de prática com saída em dupla.
Adicionar dicas a um placar
Mostre uma combinação compacta ou os detalhes de cada dardo em um aplicativo de pontuação.
Perguntas frequentes
Quanto custa uma solicitação?
O preço da API é US$ 0,002 por solicitação. O mesmo cálculo determinístico pode ser executado gratuitamente no seu navegador nesta página.
O último dardo sempre acerta uma dupla?
Sim. Todo resultado bem-sucedido termina com D1 a D20 ou DB, o bull duplo.
Por que uma pontuação abaixo de 170 pode retornar erro?
Alguns totais são números impossíveis, que não podem ser obtidos com até três dardos legais e uma dupla final.
O que significam T20, D20, SB e DB?
Eles significam triplo 20, duplo 20, bull simples de 25 pontos e bull duplo de 50 pontos.
A rota será sempre a escolha de um jogador profissional?
Não necessariamente. A resposta é válida, estável e curta; preferências pessoais e decisões táticas podem tornar outra rota válida mais confortável.
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/dart-score-checkout \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"score":170}'const res = await fetch("https://api.kit.forhosting.com/game/dart-score-checkout", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"score": 170
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/dart-score-checkout",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"score": 170
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/dart-score-checkout", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"score":170}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"score":170}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/dart-score-checkout", 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
{
"score": 170
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.dart_score_checkout",
"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. |