Simulador de dado d20
A semente 42 sempre tira 17: a mesma semente sempre dá a mesma face de um dado justo de vinte faces, então o mestre, um jogador ou um revisor podem conferir a rolagem depois. Use em ataques, testes de resistência e iniciativa. 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
- Semente
- 42
- Resultado
- 17
- Faces
- 20
- Die
- d20
- Min
- 1
Um simulador de dado d20 é o modo usual em que jogadores de mesa, mestres e ferramentas digitais obtêm uma única face de um dado de vinte faces. Esta capacidade aceita uma semente inteira não negativa, aciona um gerador determinístico e devolve um resultado inteiro de 1 a 20. A mesma semente produz sempre a mesma face.
O que uma rolagem de d20 com semente devolve de fato
Um dado de vinte faces é uma variável aleatória uniforme discreta nos inteiros de um a vinte: cada face é igualmente provável e uma única rolagem é um sorteio independente. Um simulador de d20, portanto, não calcula uma massa de probabilidade nem um intervalo de totais possíveis; materializa uma face concreta para resolver um ataque, uma salvaguarda, uma iniciativa ou um ensaio em sala de uma distribuição uniforme. O determinismo faz parte da promessa do produto.
O mapeamento é fixo, o gerador é fixo e há um só sorteio, de modo que a semente descreve por completo o experimento. A justiça está fixada em vinte faces igualmente prováveis; esta página não é um laboratório de dados sob medida e não aceita um parâmetro de viés. A resposta repete a semente, devolve result como a face inteira e documenta faces, die, min e max para que os clientes exibam a rolagem sem constantes extras.
Quando a semente não é um inteiro não negativo a tarefa falha em vez de inventar uma face, porque uma semente fracionária ou negativa não é um resultado de d20 que alguém possa corrigir.
Contrato de entrada, forma da resposta e erros
Zero é uma semente válida e não é tratado como ausente. Uma semente negativa é recusada porque o contrato é um inteiro não negativo, não um nonce com sinal. Essas falhas não são cobradas.
Em caso de sucesso o corpo repete seed, devolve result como inteiro de 1 a 20, define faces em 20 e die em d20, e reitera min 1 e max 20 para que um renderer rotule o valor primário sem uma legenda rígida. Exemplo: a semente quarenta e dois produz sempre a mesma face, e a semente zero produz sempre a própria face estável. A validação falha não consome saldo.
Onde um simulador de d20 com semente agrega valor
Grupos de mesa e mesas virtuais usam um simulador de d20 para que cada jogador veja o mesmo vinte natural ou o mesmo um natural que a semente publicada implica, sem passar um icosaedro físico ao redor da mesa nem confiar em um cliente que alguém possa ter editado. Organizadores de concursos e rifas beneficentes precisam de um sorteio auditável: dada a semente publicada, qualquer revisor posterior pode recomputar a face exata que decidiu um prêmio ou um saque.
Quem desenvolve invoca o mesmo contrato a partir de scripts para semear vetores de teste, impulsionar planilhas Monte Carlo que devem coincidir com uma chave impressa, ou satisfazer enunciados de desafios de programação que pedem um único d20 e não uma probabilidade binomial. Esta página não substitui as ferramentas de faixa em notação de dados nem as calculadoras de probabilidade de soma; essas respondem a intenções de busca distintas.
Casos de uso
Sessões de mesa e mesas virtuais
Publique uma semente de sessão para que cada jogador e o mestre recomputem o mesmo d20 natural em ataques, salvaguardas e iniciativa sem passar um dado físico.
Sorteios e exames auditáveis
Anote a semente ao lado de uma rifa, um saque ou um item de exame para que qualquer revisor posterior reconstrua a face exata de 1 a 20.
Perguntas frequentes
Como rolar um d20 com esta ferramenta?
Envie seed como um inteiro não negativo. A mesma semente produz sempre a mesma face.
O que acontece se a semente não for um inteiro não negativo?
Valores ausentes, negativos, frações, cadeias vazias e valores fora do intervalo inteiro seguro são recusados e não são cobrados.
Posso mudar o número de faces ou enviesar o dado?
Não. Esta página é apenas um dado justo de vinte faces. Faixas sob medida e probabilidades de soma pertencem às ferramentas irmãs de notação e probabilidade.
Por que um simulador de d20 precisa de uma semente?
A semente torna a face reproduzível. Duas máquinas, dois corretores ou uma auditoria posterior reconstroem a mesma rolagem. A semente zero é válida e não é tratada como ausente.
Posso somar modificadores ou rolar com vantagem?
Não. A ferramenta devolve só o resultado natural do d20, uma face de 1 a 20. Modificadores, vantagem e dados de dano ficam na sua ficha de personagem ou na mesa, partindo dessa face.
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/stat/d20-dice-roller \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"seed":42}'const res = await fetch("https://api.kit.forhosting.com/stat/d20-dice-roller", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"seed": 42
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/d20-dice-roller",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"seed": 42
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/d20-dice-roller", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"seed":42}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"seed":42}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/d20-dice-roller", 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
{
"seed": 42
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.d20_dice_roller",
"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
Uma semente ausente, negativa ou não inteira falha com invalid_input em vez de inventar uma rolagem.
O que uma rolagem de d20 com semente devolve de fato
Este endpoint inicializa um gerador mulberry32 com a semente inteira não negativa que você envia, toma uma palavra sem sinal de trinta e dois bits e a projeta no intervalo inteiro fechado de 1 a 20 inclusive com um resto que nunca produz 0 nem 21. Sementes idênticas produzem sempre o mesmo JSON porque o caminho nunca consulta o relógio de parede nem a fonte aleatória do anfitrião.
Contrato de entrada, forma da resposta e erros
Envie por POST um corpo JSON com seed igual a um inteiro não negativo; os aliases rng_seed e value são aceitos quando os clientes reutilizam nomes de formulário antigos. Cada campo pode chegar como número JSON ou como cadeia numérica de dígitos; cadeias vazias, booleanos, objetos, frações e valores fora do intervalo inteiro seguro falham com invalid_input nomeando o campo. Combine a resposta com sua própria ficha de mesa se precisar de modificadores, vantagem ou um dado de dano; este endpoint só rola o d20 natural. Documente as sementes ao lado do registro da sessão, fixe goldens para as sementes que publicar e trate invalid_input como um sinal de qualidade de dados em vez de repetir um inteiro malformado. Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Onde um simulador de d20 com semente agrega valor
Geradores de preparação de exames e salas de probabilidade precisam de um oráculo determinístico que marque uma semente errada como invalid_input em vez de devolver em silêncio uma face vazia que um corretor defeituoso poderia tratar como sucesso. Mantenha uma semente por chamada, fixe o resultado inteiro nos testes e você obterá faces de vinte reproduzíveis para lições, plugins de LMS e workers de borda sem montar um serviço aleatório próprio.
Casos de integração
Fixtures de teste determinísticos
Gere uma face de d20 estável em testes unitários e planilhas Monte Carlo para que a integração contínua e as chaves impressas não oscilem entre máquinas.
Perguntas técnicas
Quanto custa o simulador de dado d20?
A ferramenta do navegador é gratuita. As solicitações API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; a entrada inválida não é cobrada.