在线掷骰器

设置

输入骰子表达式即可掷骰,表达式和结果不会发送到服务器。工具支持 2d6 这类普通骰池、1d20+5 这类固定修正、取最高或最低骰、爆炸骰,以及常见的 d20 优势和劣势缩写。它会显示每枚骰子的完整连掷过程,标明舍弃的骰子,并在当前浏览器会话中保留最近 20 次结果。

如何掷骰

  1. 1

    输入表达式

    使用 `NdS`,N 是骰子数量,S 是面数。例如 `3d8` 表示掷三枚八面骰。省略 N 时默认为一枚,因此 `d20` 也有效。

  2. 2

    添加可选规则

    使用 `+X` 或 `-X` 添加固定修正值,使用 `khK` 或 `klK` 保留 K 枚骰子,使用 `!` 表示爆炸骰,也可以使用 `1d20adv` 和 `1d20dis`。

  3. 3

    在本地掷骰

    浏览器通过 `crypto.getRandomValues` 和拒绝采样抽取每个点数,因此范围内每个点数概率相同。如果安全随机源不可用,工具会拒绝掷骰。

  4. 4

    查看或重掷

    查看保留和舍弃的骰子、骰子总和以及加入修正值后的总计。最近 20 个有效结果会留在会话中,直至手动清除或浏览器会话结束。

支持的骰子记法

表达式 工具执行的操作
d6 掷一枚六面骰
2d20 掷两枚二十面骰并将两者相加
1d20+5 掷一枚 d20,并在骰子总和上加 5
4d6kh3 掷四枚 d6,保留三个最高小计
4d6kl2 掷四枚 d6,保留两个最低小计
2d6! 掷两枚爆炸 d6;每次出现最大点数,都为同一枚骰子增加一次掷骰
1d20adv 掷两枚 d20,保留较高结果
1d20dis-2 掷两枚 d20,保留较低结果,再减 2
1d1000 掷一枚具有 1000 个可能值的自定义骰子

范围限制为 1-100 枚骰子、2-1000 面,修正值为 -1,000,000 到 +1,000,000。advdis 特意只允许用于一枚 d20 的表达式。保留数量必须介于 1 和骰子总数之间。

爆炸骰和保留规则

爆炸骰出现最大点数时会再次掷骰。新增点数仍属于同一枚骰子,并计入该骰子的小计。如果同时使用 khkl,工具会先按完整小计排序,再确定保留哪些骰子。

为防止故障或恶意随机源导致页面卡死,一枚骰子最多只能追加 100 次掷骰。达到安全上限时,工具会取消整个结果,而不会显示不完整的总计。

概率核对

  • 公平 d20 出现任意指定点数(包括 1 或 20)的概率均为 5%。
  • 两枚 d6 有 36 个等概率有序结果,其中 6 个总和为 7,所以概率是 6/36,约 16.67%。
  • 三枚 d6 的平均值为 10.5。总和为 3 的概率是 1/216,总和为 18 也相同,分别约 0.46%。
  • 四枚 d6 取最高三枚时,加入修正值前的平均值约为 12.24。

随机性与合适用途

工具使用浏览器的密码学随机源,并在映射到骰子点数之前舍弃超出适用范围的 32 位样本,因此 d6 等骰子不会产生取模偏差。它适合游戏、课堂练习和模拟,但不是经过认证的赌博设备。请勿用结果生成密码、加密密钥或其他安全机密。

表达式、随机点数和记录都留在浏览器中。在可选的分步视图里,表达式记录在会话存储中的有效期最长为 30 分钟,以便在步骤之间传递;表达式不会写入 URL。过期记录会在下次读取时或标签页会话结束时删除。

常见问题

可以。面数可以是 2 到 1000 之间的任意整数。d72d301d1000 都有效,即使它们不对应常见的实体多面体。

添加 !。每枚出现最大点数的骰子都会再次掷骰,新点数加在同一枚骰子上。再次出现最大点数还会继续触发。如果一枚骰子达到 100 次追加掷骰,工具会取消结果,因此不会把截断的连掷当作完整结果。

d20adv1d20adv 会掷两枚 d20 并保留较高者;d20dis1d20dis 保留较低者。可以添加固定修正值,但这些缩写不允许更改骰子数量或面数,也不能再加保留或爆炸规则。

表达式和结果不会通过 Livewire 发送,也不会放入 URL。当前浏览器会话最多保留 20 个有效结果,你可以随时清除。正常结束会话通常会删除它们。能够访问页面的浏览器扩展或其他软件仍可能查看页面数据。

相关工具