0

Lanciatore di Dadi con Notazione

Un vero parser di notazione dadi da tavolo: scrivi 3d6+2, 4d6kh3 o adv e ottieni ogni singolo lancio di dado, i dadi tenuti/scartati e il totale.

🔒 Elaborato interamente nel tuo browser: nulla di ciò che inserisci qui verrà mai caricato.

Esempi: 3d6+2 · 4d6kh3 · 2d8+1d6-1 · adv+5 · d%

Tiri recenti

Elaborazione... 0%

Risultato

Dice Notation Roller legge e lancia la stessa notazione abbreviata usata ai tavoli da gioco di ruolo e nei manuali: "NdS" significa lanciare N dadi con S facce, quindi "3d6" lancia tre dadi a sei facce. Aggiungi un modificatore piatto con +N o -N ("3d6+2"), combina più gruppi di dadi in un'unica espressione ("2d8+1d6-1"), oppure usa la notazione abbreviata vantaggio/svantaggio di D&D 5e ("adv" lancia due dadi a venti facce e tiene il più alto, "dis" tiene il più basso). Anche la notazione keep-highest e keep-lowest ("4d6kh3" lancia quattro dadi a sei facce e tiene i tre più alti — il metodo standard per tirare le caratteristiche di D&D) è pienamente supportata.

Sotto il cofano c'è un vero tokenizer e parser, non un elenco di espressioni riconosciute: la notazione viene scandita carattere per carattere in token (gruppi di dadi, parole chiave adv/dis, numeri semplici e operatori +/-), assemblata in un piccolo albero di espressione e solo allora valutata. Qualsiasi combinazione sintatticamente valida funziona, incluse notazioni per cui nessuno ha scritto un esempio. Ogni dado viene lanciato con il generatore crittografico di numeri casuali del browser (crypto.getRandomValues, non Math.random) usando il campionamento a rifiuto in modo che ogni faccia abbia esattamente la stessa probabilità, e il risultato mostra ogni singolo dado, quali dadi sono stati tenuti o scartati per i tiri kh/kl, il modificatore applicato e il totale finale.

Per mantenere lo strumento prevedibile e veloce, i gruppi di dadi sono limitati a 100 dadi e 1000 facce per gruppo, e i conteggi keep-highest/lowest non possono mai superare il numero di dadi lanciati. Una notazione malformata — un carattere sconosciuto, due operatori consecutivi, un + finale senza termine — produce un messaggio di errore specifico e leggibile invece di un fallimento silenzioso o un crash. Tutto viene eseguito localmente nel browser: nessuna notazione, tiro o risultato viene mai inviato altrove.