Lanzador de dado d20
La semilla 42 siempre saca un 17: la misma semilla da siempre la misma cara de un dado justo de veinte caras, así que el director de juego, un jugador o un revisor pueden comprobar la tirada más tarde. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Semilla
- 42
- Resultado
- 17
- Caras
- 20
- Die
- d20
- Min
- 1
Un lanzador de dado d20 es el modo habitual en que jugadores de mesa, directores de juego y herramientas digitales obtienen una sola cara de un dado de veinte caras. Esta capacidad acepta una semilla entera no negativa, impulsa un generador determinista y devuelve un resultado entero de 1 a 20. La misma semilla produce siempre la misma cara.
Qué devuelve de verdad una tirada de d20 con semilla
Un dado de veinte caras es una variable aleatoria uniforme discreta sobre los enteros del uno al veinte: cada cara es igualmente probable y una sola tirada es un sorteo independiente. Un lanzador de d20, por tanto, no calcula una masa de probabilidad ni un intervalo de totales posibles; materializa una cara concreta para resolver un ataque, una salvación, una iniciativa o un ensayo de aula de una distribución uniforme. El determinismo forma parte de la promesa del producto.
El mapeo es fijo, el generador es fijo y hay un solo sorteo, de modo que la semilla describe por completo el experimento. La equidad está fijada en veinte caras igualmente probables; esta página no es un laboratorio de dados a medida y no acepta un parámetro de sesgo. La respuesta repite la semilla, devuelve result como la cara entera y documenta faces, die, min y max para que los clientes muestren la tirada sin constantes extra.
Cuando la semilla no es un entero no negativo la tarea falla en lugar de inventar una cara, porque una semilla fraccionaria o negativa no es un resultado de d20 que nadie pueda calificar.
Contrato de entrada, forma de la respuesta y errores
El cero es una semilla válida y no se trata como ausente. Se rechaza una semilla negativa porque el contrato es un entero no negativo, no un nonce con signo. Esos fallos no se facturan.
En caso de éxito el cuerpo repite seed, devuelve result como entero de 1 a 20, fija faces en 20 y die en d20, y reitera min 1 y max 20 para que un renderer etiquete el valor primario sin una leyenda rígida. Ejemplo: la semilla cuarenta y dos produce siempre la misma cara, y la semilla cero produce siempre su propia cara estable. La validación fallida no consume saldo.
Dónde un lanzador de d20 con semilla aporta valor
Los grupos de mesa y las mesas virtuales usan un lanzador de d20 para que cada jugador vea el mismo veinte natural o el mismo uno natural que implica la semilla publicada, sin pasar un icosaedro físico alrededor de la mesa ni fiarse de un cliente que alguien pudo haber editado. Quienes organizan concursos y rifas benéficas necesitan un sorteo auditable: dada la semilla publicada, cualquier revisor posterior puede recomputar la cara exacta que decidió un premio o un saque.
Quienes desarrollan invocan el mismo contrato desde scripts para sembrar vectores de prueba, impulsar hojas Monte Carlo que deben coincidir con una clave impresa, o satisfacer enunciados de retos de programación que piden un solo d20 y no una probabilidad binomial. Esta página no sustituye a las herramientas de rango en notación de dados ni a las calculadoras de probabilidad de suma; esas responden a intenciones de búsqueda distintas.
Qué puede hacer con ella
Partidas de mesa y mesas virtuales
Publique una semilla de sesión para que cada jugador y el director de juego recomputen el mismo d20 natural en ataques, salvaciones e iniciativa sin pasar un dado físico.
Sorteos y exámenes auditables
Anote la semilla junto a una rifa, un saque o un ítem de examen para que cualquier revisor posterior reconstruya la cara exacta de 1 a 20.
Preguntas frecuentes
¿Cómo se tira un d20 con esta herramienta?
Envíe seed como un entero no negativo. La misma semilla produce siempre la misma cara.
¿Qué ocurre si la semilla no es un entero no negativo?
Se rechazan valores ausentes, negativos, fracciones, cadenas vacías y valores fuera del intervalo entero seguro, y no se facturan.
¿Puedo cambiar el número de caras o sesgar el dado?
No. Esta página es solo un dado justo de veinte caras. Los rangos a medida y las probabilidades de suma pertenecen a las herramientas hermanas de notación y probabilidad.
¿Por qué un lanzador de d20 necesita una semilla?
La semilla hace reproducible la cara. Dos máquinas, dos calificadores o una auditoría posterior reconstruyen la misma tirada. La semilla cero es válida y no se trata como ausente.
¿Puedo sumar modificadores o tirar con ventaja?
No. La herramienta devuelve solo la tirada natural del d20, una cara del 1 al 20. Los modificadores, la ventaja y los dados de daño se aplican en su hoja de personaje o en la mesa, partiendo de esa cara.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"seed": 42
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.d20_dice_roller",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Una semilla ausente, negativa o no entera falla con invalid_input en lugar de inventar una tirada.
Qué devuelve de verdad una tirada de d20 con semilla
Este endpoint inicializa un generador mulberry32 con la semilla entera no negativa que usted envía, toma una palabra sin signo de treinta y dos bits y la proyecta sobre el intervalo entero cerrado de 1 a 20 inclusive con un resto que nunca produce 0 ni 21. Semillas idénticas producen siempre el mismo JSON porque la ruta nunca consulta el reloj de pared ni la fuente aleatoria del anfitrión.
Contrato de entrada, forma de la respuesta y errores
Envíe por POST un cuerpo JSON con seed igual a un entero no negativo; se aceptan los alias rng_seed y value cuando los clientes reutilizan nombres de formulario antiguos. Cada campo puede llegar como número JSON o como cadena numérica de dígitos; las cadenas vacías, los booleanos, los objetos, las fracciones y los valores fuera del intervalo entero seguro fallan con invalid_input nombrando el campo. Combine la respuesta con su propia hoja de mesa si necesita modificadores, ventaja o un dado de daño; este endpoint solo tira el d20 natural. Documente las semillas junto al registro de sesión, fije goldens para las semillas que publique y trate invalid_input como una señal de calidad de datos en lugar de reintentar un entero malformado. Como la implementación es parse pura de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo y sin red saliente.
Dónde un lanzador de d20 con semilla aporta valor
Los generadores de preparación de exámenes y las aulas de probabilidad necesitan un oráculo determinista que marque una semilla errónea como invalid_input en lugar de devolver en silencio una cara vacía que un calificador defectuoso podría tratar como éxito. Mantenga una semilla por llamada, fije el resultado entero en las pruebas y obtendrá caras de veinte reproducibles para deberes, plugins de LMS y trabajadores de borde sin montar un servicio aleatorio propio.
Casos de integración
Fixtures de prueba deterministas
Genere una cara de d20 estable en pruebas unitarias y hojas Monte Carlo para que la integración continua y las claves impresas no oscilen entre máquinas.
Preguntas técnicas
¿Cuánto cuesta el lanzador de dado d20?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.