Lanceur de dés D&D
Saisissez 2d6+3 avec la graine 42 et vous obtenez les faces 1 et 5 plus le modificateur 3, soit un total de 9, à chaque fois. Chaque dé est affiché, ce qui permet à toute la table de vérifier ensuite un jet de dégâts ou d'attaque. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Notation
- 2d6+3
- Graine
- 42
- Total
- 9
- Normalisé
- 2d6+3
- Dés
- 1, 5
- Somme des dés
- 6
Un lanceur de dés D&D transforme une chaîne de notation publiée telle que 2d6+3, 1d20+5 ou 4d6 en un total concret et en les valeurs individuelles de chaque dé qui l'ont produit.
Ce qu'un jet en notation D&D renvoie réellement
La notation habituelle de table écrit un ensemble de dés comme N d S, éventuellement suivi de constantes plus ou moins et d'autres termes de dés : 2d6+3 désigne deux dés à six faces plus trois, 1d20+5 un jet d'attaque à vingt faces plus un modificateur, et 4d6 quatre dés à six faces sans constante. Chaque dé est une variable aléatoire uniforme discrète indépendante sur les entiers de un jusqu'au nombre de faces ; le total obtenu est la somme signée de ces faces plus toutes les constantes de l'expression.
Un lanceur de dés dnd ne répond donc ni la probabilité d'une somme, ni le minimum et le maximum théoriques d'une phrase NdS. Il matérialise un dénouement concret pour résoudre des dégâts, une attaque, un jet de sauvegarde avec bonus, ou un essai en classe avec plusieurs dés à la fois. Le déterminisme fait partie de la promesse du produit.
Ce point d'accès découpe la chaîne de notation, initialise un générateur mulberry32 avec la graine entière non négative que vous envoyez et, pour chaque dé, prend un mot non signé de trente-deux bits projeté sur l'intervalle entier fermé de 1 à S inclus. Les faces reviennent de gauche à droite selon l'expression, le modificateur est la constante nette et total est leur combinaison signée. L'équité est figée : chaque face d'un dé donné est également probable sous la carte du reste.
Conserver les plus hauts, écarter les plus bas, les dés explosifs et les opérateurs de multiplication sont refusés, car ils ne sont pas le contrat publié 2d6+3 pour lequel cette page se classe.
Où un lanceur de dés D&D justifie son existence
Les groupes de table et les tables virtuelles utilisent un lanceur de dés dnd pour que chaque joueur voie les mêmes dégâts 2d6+3 ou la même attaque 1d20+5 qu'implique la graine publiée, sans faire circuler une paire de cubes physiques autour de la table ni se fier à un client qui aurait pu être modifié.
Les organisateurs de concours et de tombolas caritatives qui décident d'un prix avec 2d10+4 ont besoin d'un tirage auditable : avec la graine et la notation publiées, tout relecteur ultérieur peut recalculer les faces et le total exacts. Les développeurs appellent le même contrat depuis des scripts pour ensemencer des vecteurs de test, piloter des feuilles Monte Carlo qui doivent correspondre à une clé imprimée, ou satisfaire des énoncés de défis de programmation qui exigent un jet NdS complet plutôt qu'une seule face de d20.
Cette page ne remplace pas le lanceur uniquement d20, le calculateur de plage en notation de dés ni les sœurs de probabilité de somme ; celles-ci répondent à d'autres intentions de recherche.
Cas d’usage
Expressions de dégâts et d'attaque à table
Publiez une graine de séance pour que chaque joueur et le maître de jeu recalculent les mêmes dégâts 2d6+3 ou la même attaque 1d20+5 sans faire circuler de dés physiques.
Blocs de statistiques et modules publiés
Évaluez les chaînes NdS imprimées dans les blocs de monstres et les scénarios autonomes afin que les lecteurs voient des faces et un total au lieu de séparer à la main compte, faces et modificateur.
Automatisation déterministe et jeux de tests
Générez un jet de notation stable dans les tests unitaires et les feuilles de travail afin que l'intégration continue et les corrigés imprimés ne dérivent pas d'une machine à l'autre.
Questions fréquentes
Comment lancer 2d6+3 avec ce lanceur de dés D&D ?
Le même couple produit toujours le même jet.
Quelle notation de dés est prise en charge ?
Termes NdS standard et constantes plus ou moins : 2d6+3, 1d20+5, 4d6, d20, d% et formes mixtes telles que 1d20+1d4-1. Conserver les plus hauts, écarter les plus bas, dés explosifs et opérateurs de multiplication sont refusés.
Que se passe-t-il si la chaîne de notation est mal formée ?
Les opérateurs en fin de chaîne, les termes de dés manquants, les drapeaux non pris en charge de conservation ou d'explosion, les chaînes vides et les expressions qui dépassent les limites de dés ou de faces sont refusés et ne sont pas facturés.
Pourquoi un lanceur de dés D&D a-t-il besoin d'une graine ?
La graine rend les faces et le total reproductibles. Deux machines, deux correcteurs ou un audit ultérieur reconstruisent le même jet 2d6+3. La graine zéro est valide et n'est pas traitée comme manquante.
Puis-je lancer 4d6 et retirer le dé le plus faible ?
Pas dans l'expression elle-même : garder les meilleurs, retirer les plus faibles, les dés explosifs et la multiplication sont refusés. Vous pouvez quand même lancer 4d6 et écarter vous-même la face la plus basse, car chaque dé figure dans le résultat.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/stat/dnd-dice-roller \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"notation":"2d6+3","seed":42}'const res = await fetch("https://api.kit.forhosting.com/stat/dnd-dice-roller", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"notation": "2d6+3",
"seed": 42
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/dnd-dice-roller",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"notation": "2d6+3",
"seed": 42
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/dnd-dice-roller", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"notation":"2d6+3","seed":42}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"notation":"2d6+3","seed":42}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/dnd-dice-roller", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"notation": "2d6+3",
"seed": 42
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.dnd_dice_roller",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_dice | 100 |
max_sides | 1000 |
max_notation_len | 200 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cette capacité accepte une chaîne de notation de dés et une graine entière non négative, analyse chaque terme NdS et chaque constante signée, tire une face déterministe par dé à partir de cette graine et renvoie le total obtenu avec chaque face dans l'ordre de l'expression. Une chaîne de notation mal formée échoue avec invalid_input au lieu d'inventer un jet.
Ce qu'un jet en notation D&D renvoie réellement
Lorsque la chaîne de notation est mal formée, la tâche échoue au lieu d'inventer des faces, car une expression brisée n'est pas un jet D&D que quiconque puisse noter. La même notation et la même graine produisent toujours le même JSON, car le chemin ne consulte jamais l'horloge murale ni la source aléatoire de l'hôte.
Contrat d'entrée, forme de la réponse et erreurs
Zéro est une graine valide et n'est pas traité comme manquant. Exemple : la notation 2d6+3 avec une graine publiée produit toujours les deux mêmes faces et le même total, car le générateur et la carte du reste sont fixes. Associez la réponse à votre propre feuille de personnage si vous avez besoin d'avantage, de désavantage ou de conserver les plus hauts ; ce point d'accès ne lance que du NdS standard plus des constantes. Une validation échouée ne consomme pas de solde. Les expressions de plus de deux cents caractères, de plus de cent dés, ou un dé de plus de mille faces sont refusées afin qu'une chaîne hostile n'épuise pas un isolate. Envoyez par POST un corps JSON à deux champs. notation est l'expression de dés obligatoire ; les alias expression, dice, formula, expr, input et text sont acceptés lorsque les clients réutilisent d'anciens noms de formulaire. Les espaces autour des plus et des moins sont autorisés. seed est un entier non négatif obligatoire ; les alias rng_seed et value sont acceptés. La graine peut arriver comme nombre JSON ou comme chaîne numérique de chiffres ; les chaînes vides, les booléens, les objets, les fractions, les négatifs et les valeurs hors de l'intervalle entier sûr échouent avec invalid_input en nommant le champ. Ces échecs ne sont pas facturés. En cas de succès, le corps répète notation et seed, renvoie normalized sous la forme canonique sans espaces et avec les comptes implicites écrits comme un, renvoie total comme le résultat entier, renvoie dice comme le tableau des faces individuelles dans l'ordre de l'expression, renvoie dice_sum comme la somme signée de ces faces, renvoie modifier comme la constante nette, et documente dice_count, min_total et max_total afin qu'un moteur de rendu étiquette la valeur principale sans constantes supplémentaires. Documentez les graines à côté du journal de séance, figez des goldens pour les graines que vous livrez, et traitez invalid_input comme un signal de qualité des données plutôt que de réessayer une chaîne mal formée. Comme l'implémentation est du parse pur de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant.
Où un lanceur de dés D&D justifie son existence
Les auteurs d'aventures publient de la notation dans les blocs de statistiques ; cette page évalue ces chaînes au lieu de forcer le lecteur à séparer à la main le compte, les faces et le modificateur. Les générateurs de préparation d'examens et les salles de probabilité ont besoin d'un oracle déterministe qui marque une expression brisée comme invalid_input au lieu de renvoyer en silence un total vide qu'un correcteur défectueux pourrait traiter comme un succès. Conservez une chaîne de notation et une graine par appel, figez le total entier et la liste des faces dans les tests, et vous obtiendrez des jets D&D reproductibles pour les devoirs, les greffons LMS et les travailleurs de bord, sans dresser un service aléatoire à vous.
Questions techniques
Combien coûte le lanceur de dés D&D ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.