0

Rzucający kośćmi

Prawdziwy parser notacji kostkowej do gier stołowych: wpisz 3d6+2, 4d6kh3 lub adv, a otrzymasz każdy pojedynczy wynik kości, informację o kościach zatrzymanych/odrzuconych oraz sumę.

🔒 Przetwarzane w całości w Twojej przeglądarce — nic, co tu wpiszesz, nie zostanie nigdy przesłane.

Przykłady: 3d6+2 · 4d6kh3 · 2d8+1d6-1 · adv+5 · d%

Ostatnie rzuty

Przetwarzanie... 0%

Wynik

Dice Notation Roller odczytuje i wykonuje rzuty w tym samym skróconym zapisie, którego używa się przy stołach RPG i w podręcznikach: „NdS” oznacza rzut N kośćmi o S ściankach, więc „3d6” rzuca trzema sześciennymi kośćmi. Dodaj stały modyfikator za pomocą +N lub -N („3d6+2”), połącz kilka grup kości w jednym wyrażeniu („2d8+1d6-1”) lub użyj skrótów przewagi/utrudnienia z D&D 5e („adv” rzuca dwiema dwudziestościennymi kośćmi i zachowuje wyższą, „dis” zachowuje niższą). W pełni obsługiwana jest również notacja trzymaj-najwyższe i trzymaj-najniższe („4d6kh3” rzuca czterema sześciennymi kośćmi i zachowuje trzy najwyższe — standardowy sposób losowania wartości cech w D&D).

Pod maską kryje się prawdziwy tokenizer i parser, a nie lista rozpoznawanych wyrażeń: notacja jest skanowana znak po znaku na tokeny (grupy kości, słowa kluczowe adv/dis, zwykłe liczby i operatory +/-), składana w niewielkie drzewo wyrażenia i dopiero wtedy obliczana. Każda poprawna składniowo kombinacja działa, włącznie z notacją, dla której nikt nie napisał przykładu. Każda kość jest rzucana za pomocą kryptograficznego generatora liczb losowych przeglądarki (crypto.getRandomValues, nie Math.random) z wykorzystaniem próbkowania z odrzucaniem, dzięki czemu każda ścianka ma dokładnie równe szanse, a wynik pokazuje każdą pojedynczą kość, które kości zostały zatrzymane lub odrzucone w rzutach kh/kl, zastosowany modyfikator i ostateczną sumę.

Aby narzędzie pozostało przewidywalne i szybkie, grupy kości są ograniczone do 100 kości i 1000 ścianek na grupę, a liczba zatrzymywanych najwyższych/najniższych nigdy nie może przekroczyć liczby rzuconych kości. Nieprawidłowa notacja — nieznany znak, dwa operatory pod rząd, wiszący + na końcu — skutkuje konkretnym, czytelnym komunikatem błędu zamiast cichej awarii czy zawieszenia. Wszystko działa lokalnie w przeglądarce: żadna notacja, rzut ani wynik nie są nigdzie wysyłane.