ダイス表記ローラー
本格的なテーブルトーク用ダイス表記パーサー:3d6+2、4d6kh3、advなどと入力すると、個々のダイス出目、採用/除外されたダイス、合計値がすべて表示されます。
🔒 ブラウザ内で完全に処理されます。ここに入力した内容はアップロードされません。
結果
Dice Notation Rollerは、テーブルトークRPGの卓上やルールブックで使われるのと同じ略記法を読み取り、ロールします。「NdS」はS面ダイスをN個振ることを意味し、「3d6」なら6面ダイスを3個振ります。+Nや−Nで固定修整値を加えたり(「3d6+2」)、複数のダイスグループを一つの式にまとめたり(「2d8+1d6-1」)、D&D 5版の有利/不利の略記(「adv」は20面ダイス2個を振り高い方を採用、「dis」は低い方を採用)も使えます。高い出目を採用/低い出目を採用する記法(「4d6kh3」は6面ダイス4個を振り、高い出目3個を採用 — D&Dの能力値ロールの標準的な方法)にも完全対応しています。
内部的には、これは既知の表現リストではなく本物のトークナイザーとパーサーです。表記は一文字ずつスキャンされてトークン(ダイスグループ、adv/disキーワード、単なる数値、+/-演算子)に分解され、小さな式ツリーに組み立てられ、その後に初めて評価されます。構文的に正しい組み合わせであれば、誰も例を書いたことのない表記も含め、すべて機能します。各ダイスはブラウザーの暗号学的乱数生成器(crypto.getRandomValues、Math.randomではありません)を用いてリジェクションサンプリングでロールされ、すべての面が厳密に等しい確率で出現します。結果には、個々のダイスの出目、kh/klロールで採用されたか除外されたか、適用された修整値、そして最終的な合計値が表示されます。
ツールの動作を予測可能かつ高速に保つため、ダイスグループは1グループあたり100個まで、面数は1000面までに制限されており、採用/除外するダイスの数は振ったダイスの数を超えられません。不正な形式の表記 — 未知の文字、演算子の連続、末尾にぶら下がった+など — に対しては、何も表示されなかったりクラッシュしたりすることなく、具体的で読みやすいエラーメッセージが表示されます。すべての処理はブラウザー内でローカルに実行され、表記、ロール、結果が外部に送信されることは一切ありません。