0

Dobbelstenen notatie Roller

Een echte parser voor dobbelsteennotaties: typ 3d6+2, 4d6kh3 of Adv en ontvang elke individuele dobbelsteenworp, de bewaard/gevallen dobbelstenen en het totaal.

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

Recente rollen

Verwerken... 0%

Resultaat

Dice Notation Roller leest en gooit dezelfde afkorting die wordt gebruikt op tafelblad-RPG-tafels en in spelregels: "NdS" betekent worp N dobbelstenen met S-zijden, dus "3d6" gooit drie zeszijdige dobbelstenen. Voeg een platte modifier toe met +N of -N ("3d6+2"), combineer verschillende dobbelsteengroepen in één uitdrukking ("2d8+1d6-1"), of gebruik de D&D 5e voordeel/nadeel afkorting ("adv" gooit twee twintigzijdige dobbelstenen en behoudt de hogere, "dis" behoudt de onderste). De notatie 'Keep-highest' en 'keep-lowest' ("4d6kh3" gooit vier zeszijdige dobbelstenen en behoudt de hoogste drie - de standaardmanier om D&D-vaardigheidsscores te gooien) wordt ook volledig ondersteund.

Onder de motorkap is dit een echte tokenizer en parser, geen lijst met herkende expressies: de notatie wordt karakter voor karakter gescand in tokens (dobbelsteengroepen, adv/dis sleutelwoorden, gewone getallen en +/- operatoren), samengevoegd in een kleine expressieboom, en pas daarna geëvalueerd. Elke syntactisch geldige combinatie werkt, inclusief de notatie waarvoor niemand een voorbeeld heeft geschreven. Elke dobbelsteen wordt gerold met de cryptografische generator van willekeurige getallen (crypto.getRandomValues, niet Math.random) met behulp van afwijzingssteekproeven, zodat elk gezicht een exact gelijke kans heeft, en het resultaat toont elke individuele dobbelsteen, welke dobbelstenen werden behouden of laten vallen voor kh/kl-worpen, de toegepaste modifier en het uiteindelijke totaal.

Om het hulpmiddel voorspelbaar en snel te houden, zijn dobbelsteengroepen beperkt tot 100 dobbelstenen en 1000 zijden per groep, en kan het aantal hoogste/laagste tellingen nooit groter zijn dan het aantal gegooide dobbelstenen. Een verkeerd opgemaakte notatie – een onbekend teken, twee operatoren op een rij, een bungelende + aan het einde – levert een specifieke, leesbare foutmelding op in plaats van een stille storing of een crash. Alles draait lokaal in de browser: er wordt nooit een notatie, roll of resultaat verzonden.