Terningnotasjonsrulle
En ekte notasjonsparser for bordplater: skriv 3d6+2, 4d6kh3 eller adv og få hvert enkelt terningkast, beholdte/slippede terninger og totalen.
Resultat
Terningnotasjon Roller leser og kaster den samme stenografien som brukes ved bordplate RPG-bord og i regelbøker: "NdS" betyr kast N terninger med S-sider, så "3d6" kaster tre sekssidige terninger. Legg til en flat modifikator med +N eller -N ("3d6+2"), kombiner flere terninggrupper i ett uttrykk ("2d8+1d6-1"), eller bruk D&D 5e fordel/ulempe stenografi ("adv" kaster to tjuekantede terninger og beholder den høyere, "dis" beholder den nederste). Hold-høyeste og bevar-laveste notasjon ("4d6kh3" kaster fire sekssidige terninger og beholder de tre høyeste - standardmåten å kaste D&D-evnepoeng) støttes også fullt ut.
Under panseret er dette en ekte tokenizer og parser, ikke en liste over gjenkjente uttrykk: notasjonen skannes tegn for tegn til tokens (terninggrupper, adv/dis nøkkelord, vanlige tall og +/- operatorer), satt sammen til et lite uttrykkstre, og først deretter evaluert. Enhver syntaktisk gyldig kombinasjon fungerer, inkludert notasjon ingen skrev et eksempel for. Hver terning kastes med nettleserens kryptografiske tilfeldige tallgenerator (crypto.getRandomValues, ikke Math.random) ved å bruke avvisningssampling, slik at hvert ansikt har nøyaktig lik sjanse, og resultatet viser hver enkelt terning, hvilke terninger som ble holdt eller droppet for kh/kl-kast, modifikatoren som ble brukt og den endelige summen.
For å holde verktøyet forutsigbart og raskt, er terninggruppene begrenset til 100 terninger og 1000 sider per gruppe, og behold-høyeste/laveste antall kan aldri overskride antall terninger som kastes. Misformet notasjon – et ukjent tegn, to operatorer på rad, et dinglende + på slutten – produserer en spesifikk, lesbar feilmelding i stedet for en stille feil eller krasj. Alt kjører lokalt i nettleseren: ingen notasjon, rull eller resultat sendes noen gang.