Würfelnotationsroller
Ein echter Tabletop-Würfelnotationsparser: Geben Sie 3d6+2, 4d6kh3 oder adv ein und erhalten Sie jeden einzelnen Würfelwurf, behaltene/fallengelassene Würfel und die Summe.
Ergebnis
Dice Notation Roller liest und würfelt die gleiche Abkürzung, die an Tabletop-RPG-Tischen und in Regelbüchern verwendet wird: „NdS“ bedeutet „N Würfel mit S-Seiten werfen“, also „3d6“ wirft drei sechsseitige Würfel. Fügen Sie einen flachen Modifikator mit +N oder -N hinzu („3d6+2“), kombinieren Sie mehrere Würfelgruppen in einem Ausdruck („2d8+1d6-1“) oder verwenden Sie die Kurzschrift „Vorteil/Nachteil“ von D&D 5e („adv“ wirft zwei zwanzigseitige Würfel und behält den höheren, „dis“ behält den niedrigeren). Die Notation „Höchstes und Niedrigstes behalten“ („4d6kh3“ wirft vier sechsseitige Würfel und behält die höchsten drei – die Standardmethode zum Würfeln von D&D-Fähigkeitswerten) wird ebenfalls vollständig unterstützt.
Unter der Haube handelt es sich um einen echten Tokenizer und Parser, nicht um eine Liste erkannter Ausdrücke: Die Notation wird Zeichen für Zeichen in Token (Würfelgruppen, adv/dis-Schlüsselwörter, einfache Zahlen und +/- Operatoren) gescannt, zu einem kleinen Ausdrucksbaum zusammengesetzt und erst dann ausgewertet. Jede syntaktisch gültige Kombination funktioniert, einschließlich der Notation, für die niemand ein Beispiel geschrieben hat. Jeder Würfel wird mit dem kryptografischen Zufallszahlengenerator des Browsers (crypto.getRandomValues, nicht Math.random) unter Verwendung von Ablehnungsstichproben gewürfelt, sodass jede Seite eine genau gleiche Chance hat. Das Ergebnis zeigt jeden einzelnen Würfel, welche Würfel für kh/kl-Würfe behalten oder fallen gelassen wurden, den angewendeten Modifikator und die endgültige Summe.
Um das Tool vorhersehbar und schnell zu halten, sind die Würfelgruppen auf 100 Würfel und 1000 Seiten pro Gruppe begrenzt, und die höchste/niedrigste Anzahl darf niemals die Anzahl der gewürfelten Würfel überschreiten. Eine fehlerhafte Notation – ein unbekanntes Zeichen, zwei Operatoren hintereinander, ein baumelndes + am Ende – erzeugt eine spezifische, lesbare Fehlermeldung anstelle eines stillen Fehlers oder Absturzes. Alles läuft lokal im Browser: Es werden keine Notationen, Rollen oder Ergebnisse irgendwohin gesendet.