Rolo de notação de dados
Um verdadeiro analisador de notação de dados de mesa: digite 3d6+2, 4d6kh3 ou adv e obtenha cada lançamento de dado individual, dados mantidos/descartados e o total.
Resultado
Dice Notation Roller lê e rola a mesma taquigrafia usada em mesas de RPG de mesa e em livros de regras: "NdS" significa lançar N dados com lados S, então "3d6" lança três dados de seis lados. Adicione um modificador simples com +N ou -N ("3d6+2"), combine vários grupos de dados em uma expressão ("2d8+1d6-1") ou use a abreviação de vantagem/desvantagem do D&D 5e ("adv" rola dois dados de vinte lados e mantém o mais alto, "dis" mantém o mais baixo). A notação manter o mais alto e manter o mais baixo ("4d6kh3" lança quatro dados de seis lados e mantém os três mais altos - a maneira padrão de rolar pontuações de habilidade de D&D) também é totalmente suportada.
Nos bastidores, este é um tokenizador e analisador genuíno, não uma lista de expressões reconhecidas: a notação é escaneada caractere por caractere em tokens (grupos de dados, palavras-chave adv/dis, números simples e operadores +/-), montada em uma pequena árvore de expressão e só então avaliada. Qualquer combinação sintaticamente válida funciona, incluindo notação para a qual ninguém escreveu um exemplo. Cada dado é lançado com o gerador criptográfico de números aleatórios do navegador (crypto.getRandomValues, não Math.random) usando amostragem de rejeição para que cada face tenha uma chance exatamente igual, e o resultado mostra cada dado individual, quais dados foram mantidos ou descartados para lançamentos kh/kl, o modificador aplicado e o total final.
Para manter a ferramenta previsível e rápida, os grupos de dados são limitados a 100 dados e 1.000 lados por grupo, e as contagens mais altas/mais baixas nunca podem exceder o número de dados lançados. A notação malformada – um caracter desconhecido, dois operadores seguidos, um + pendente no final – produz uma mensagem de erro específica e legível em vez de uma falha silenciosa ou travamento. Tudo é executado localmente no navegador: nenhuma notação, rolagem ou resultado é enviado para lugar nenhum.