Tärningsnotationsrullare
En riktig parser för rollspelstärningar: skriv 3t6+2, 4t6bh3 eller fördel och få fram varje enskilt tärningsslag, behållna/slängda tärningar och summan.
🔒 Bearbetas helt i din webbläsare – ingenting du anger här laddas någonsin upp.
Resultat
Tärningsnotationsrullaren läser och rullar samma förkortade notation som används vid rollspelsbord och i regelböcker: ”TtS” betyder rulla T tärningar med S sidor, så ”3t6” rullar tre sexsidiga tärningar. Lägg till en fast bonus med +T eller -T (”3t6+2”), kombinera flera tärningsgrupper i ett uttryck (”2t8+1t6-1”), eller använd D&D 5e-förkortningen för fördel/nackdel (”fördel” rullar två tjugosidiga tärningar och behåller den högre, ”nackdel” behåller den lägre). Notationen behåll-högsta och behåll-lägsta (”4t6bh3” rullar fyra sexsidiga tärningar och behåller de högsta tre — standardmetoden för att rulla grundegenskaper i D&D) stöds också fullt ut.
Under huven finns en äkta tokeniserare och parser, inte en lista med igenkända uttryck: notationen skannas tecken för tecken till token (tärningsgrupper, fördel/nackdel-nyckelord, vanliga tal och +/-operatorer), byggs upp till ett litet uttrycksträd och evalueras först därefter. Varje syntaktiskt giltig kombination fungerar, inklusive notation som ingen har skrivit ett exempel för. Varje tärning rullas med webbläsarens kryptografiska slumptalsgenerator (crypto.getRandomValues, inte Math.random) med hjälp av rejectionsampling så att varje sida har exakt lika stor chans, och resultatet visar varje enskild tärning, vilka tärningar som behölls eller slängdes för bh/bl-slag, bonusen som tillämpats och den slutliga summan.
För att hålla verktyget förutsägbart och snabbt är tärningsgrupper begränsade till 100 tärningar och 1000 sidor per grupp, och antalet behållna tärningar för behåll-högsta/lägsta kan aldrig överstiga antalet rullade tärningar. Felaktig notation — ett okänt tecken, två operatorer i rad, ett löst + på slutet — ger ett specifikt, läsbart felmeddelande istället för ett tyst misslyckande eller en krasch. Allt körs lokalt i webbläsaren: ingen notation, inget slag och inga resultat skickas någonsin någonstans.