Rodillo de notación de dados
Un verdadero analizador de notación de dados de mesa: escriba 3d6+2, 4d6kh3 o adv y obtenga cada tirada de dado individual, dados guardados/soltados y el total.
Resultado
Dice Notation Roller lee y tira la misma taquigrafía que se utiliza en las mesas de juegos de rol y en los libros de reglas: "NdS" significa tirar N dados con lados S, por lo que "3d6" tira tres dados de seis caras. Agregue un modificador fijo con +N o -N ("3d6+2"), combine varios grupos de dados en una expresión ("2d8+1d6-1"), o use la taquigrafía de ventaja/desventaja de D&D 5e ("adv" tira dos dados de veinte caras y se queda con el superior, "dis" se queda con el inferior). La notación de mantener lo más alto y lo más bajo ("4d6kh3" tira cuatro dados de seis caras y se queda con los tres más altos, la forma estándar de obtener puntuaciones de habilidad de D&D) también es totalmente compatible.
En el fondo, este es un tokenizador y analizador genuino, no una lista de expresiones reconocidas: la notación se escanea carácter por carácter en tokens (grupos de dados, palabras clave adv/dis, números simples y operadores +/-), se ensambla en un pequeño árbol de expresiones y solo luego se evalúa. Cualquier combinación sintácticamente válida funciona, incluida la notación para la que nadie escribió un ejemplo. Cada dado se lanza con el generador criptográfico de números aleatorios del navegador (crypto.getRandomValues, no Math.random) usando un muestreo de rechazo para que cada cara tenga exactamente la misma probabilidad, y el resultado muestra cada dado individual, qué dados se conservaron o se dejaron caer para las tiradas kh/kl, el modificador aplicado y el total final.
Para mantener la herramienta predecible y rápida, los grupos de dados tienen un límite de 100 dados y 1000 caras por grupo, y los conteos más altos/más bajos nunca pueden exceder la cantidad de dados lanzados. La notación mal formada (un carácter desconocido, dos operadores seguidos, un + colgante al final) produce un mensaje de error específico y legible en lugar de una falla silenciosa o un bloqueo. Todo se ejecuta localmente en el navegador: nunca se envía ninguna notación, tirada o resultado a ninguna parte.