0

Pelempar Notasi Dadu

Parser notasi dadu tabletop sungguhan: ketik 3d6+2, 4d6kh3 atau adv dan dapatkan setiap lemparan dadu individual, dadu yang dipertahankan/dibuang, dan totalnya.

🔒 Diproses sepenuhnya di browser Anda — apa pun yang Anda masukkan di sini tidak akan pernah diunggah.

Contoh: 3d6+2 · 4d6kh3 · 2d8+1d6-1 · adv+5 · d%

Lemparan terbaru

Memproses... 0%

Hasil

Dice Notation Roller membaca dan melempar singkatan yang sama yang digunakan di meja RPG tabletop dan di buku aturan: "NdS" berarti melempar N dadu dengan S sisi, jadi "3d6" melempar tiga dadu bersisi enam. Tambahkan pengubah tetap dengan +N atau -N ("3d6+2"), gabungkan beberapa kelompok dadu dalam satu ekspresi ("2d8+1d6-1"), atau gunakan singkatan advantage/disadvantage D&D 5e ("adv" melempar dua dadu bersisi dua puluh dan mempertahankan yang lebih tinggi, "dis" mempertahankan yang lebih rendah). Notasi keep-highest dan keep-lowest ("4d6kh3" melempar empat dadu bersisi enam dan mempertahankan tiga tertinggi — cara standar untuk melempar skor kemampuan D&D) juga didukung sepenuhnya.

Di balik layar, ini adalah tokenizer dan parser asli, bukan daftar ekspresi yang dikenali: notasi dipindai karakter demi karakter menjadi token (kelompok dadu, kata kunci adv/dis, angka biasa, dan operator +/-), disusun menjadi pohon ekspresi kecil, dan baru kemudian dievaluasi. Kombinasi apa pun yang valid secara sintaksis akan berfungsi, termasuk notasi yang tidak ada contohnya. Setiap dadu dilempar dengan generator angka acak kriptografis peramban (crypto.getRandomValues, bukan Math.random) menggunakan rejection sampling sehingga setiap sisi memiliki peluang yang persis sama, dan hasilnya menunjukkan setiap dadu individual, dadu mana yang dipertahankan atau dibuang untuk lemparan kh/kl, pengubah yang diterapkan, dan total akhir.

Agar alat ini tetap dapat diprediksi dan cepat, kelompok dadu dibatasi hingga 100 dadu dan 1000 sisi per kelompok, dan jumlah keep-highest/lowest tidak pernah boleh melebihi jumlah dadu yang dilempar. Notasi yang salah bentuk — karakter yang tidak dikenal, dua operator berturut-turut, + yang menggantung di akhir — menghasilkan pesan error yang spesifik dan dapat dibaca alih-alih kegagalan diam-diam atau mogok. Semuanya berjalan secara lokal di peramban: tidak ada notasi, lemparan, atau hasil yang pernah dikirim ke mana pun.