跳到主要内容
Tooletto

掷骰子

掷任意数量、任意面数的骰子,从标准的 d6 到桌游常用的 d20 都可以。每一次投掷都使用密码学安全的随机数,而不是 Math.random,并会显示总和以及每一颗骰子的具体点数。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何掷骰子

  1. 1

    选择骰子

    选择面数——d4、d6、d8、d10、d12、d20 或 d100。

  2. 2

    选择数量

    掷一颗骰子,或者一次掷好几颗。

  3. 3

    投掷

    查看每一颗骰子的具体点数,以及累计总和。

为什么掷骰子需要真正的密码学随机数,而不是 Math.random

JavaScript 内置的 `Math.random` 是一种伪随机数生成器,针对动画或打乱一份界面列表这类场景的速度和统计分布做了优化,而不是为了抵御想要预测或反推其输出的攻击者而设计的,在某些引擎里,它的内部状态甚至可以从少量观测到的输出值中被部分推断出来。这个工具改用的 `crypto.getRandomValues`,则取自操作系统的密码学随机源——和生成加密密钥所用的是同一个来源——它的设计和审计,专门就是为了抵御这种预测。对于随手一掷的骰子来说,这个差别在实际中很少真正要紧,但只要涉及一份真实的赌注、一场有竞争性的比赛,或者一个有实际后果的决定,一个真正无偏且不可预测的随机源,就是理应具备的诚实底线,而不是一种多余的升级。

为什么决定每一面的是拒绝采样,而不是简单的取模运算

把一个随机整数转换成"N 个面里的某一面",如果只是取它除以 N 的余数,除非 N 恰好能整除这个随机数所取自的那个范围,否则就会引入一种微妙的偏差——d20 尤其如此,它并不能整除一个 32 位随机整数所能取的约 42.9 亿个数值,所以简单的取模运算会让某些面出现的概率,比其他面稍微高出一点点。这个工具的做法是:抽取一个随机值,如果这个值恰好落在那一小段分布不均匀的余数区间里,就丢弃它、重新抽取,如此反复,直到抽到一个落在能被整除部分的值——这和本站的决策转盘、抛硬币所用的拒绝采样方法完全相同,所以每一种支持的骰子,每一面的概率都是精确相等,而不只是近似相等。

读懂桌游骰子记法

桌游用一套简洁的速记法来描述一次投掷——"2d6"表示掷两颗六面骰、把结果相加,"1d20+5"表示掷一颗二十面骰,再额外加上固定的 5 点,而骰子的名字本身(d4、d6、d8、d10、d12、d20、d100)指的就是它的面数。不同的骰子在设计上服务于不同的用途:d20 是《龙与地下城》这类游戏里判定结果范围较广的行动的标准骰子,d6 常用于伤害投掷和简单的概率问题,而 d100(或者用两颗 d10 分别代表十位和个位)则用在游戏希望把投掷结果直接表示为百分比的时候。同时掷好几颗同类型的骰子并读出总和——这个工具通过把数量设置为大于 1 来支持——正是桌游桌上几乎每一次伤害投掷和技能检定的实际判定方式。

为什么实体骰子并不总像看上去那样公平

一颗骰子只有在重心恰好位于几何中心、每一面朝上的概率完全相同时,才算真正公平,而廉价量产的骰子经常在一些细微但可测量的地方达不到这个标准——除非厂商专门做了补偿,否则钻入塑料的点数孔会让数字较大的面比数字较小的面失去更多材料,模具接缝和圆角也很少完全对称,反复使用还会让某些棱边磨损得不均匀。这正是为什么讲究竞技公平的桌游玩家和赌场,有时会使用激光蚀刻而不是钻孔、经过精密抛磨去除接缝、并逐颗做过配重测试的骰子——这种严格的制造把关之所以昂贵,恰恰是因为一个实体物件要做到真正的公平,比看上去更难。而密码学随机的数字投掷完全绕开了这整个制造问题,因为根本不存在任何质量分布可能不均匀的实体形状。

常见问题

这真的是随机的吗?

是的。每一颗骰子都使用 `crypto.getRandomValues` 配合拒绝采样,所以骰子上没有任何一面的中选概率会比其他面高出哪怕一点点——这是一个真正的公平保证,而不是简单的随机数取模方法会引入的那种微小偏差。

为什么 d20 的投掷结果对桌游来说很重要?

像《龙与地下城》这样的游戏,大多数行动的判定都是靠投掷一颗二十面骰、再把结果和目标数字比较,所以一颗公平的 d20,对游戏能否按设计运作至关重要——一颗偏向大点数或小点数的骰子,会在不知不觉中让角色变得比规则本意更强或更弱。

可以同时掷多颗骰子并得到总和吗?

可以——把数量设置为大于 1,工具就会显示每一颗骰子的具体点数,以及它们的总和,这正是桌游记法里"2d6"(掷两颗六面骰再相加)或"3d6+2"这类写法的实际运作方式。

实体骰子真的公平吗?

不一定。廉价的骰子可能存在可测量的制造不对称性——被磨圆的边角、钻入材料的偏心点数孔,或者不均匀的模具接缝——这些都会让某些面稍微更容易出现,这也是为什么认真的桌游玩家和赌场有时会专门购买经过精密加工的"赌场级"骰子。而密码学随机的虚拟投掷,从一开始就没有任何实体形状可以产生这种不对称性。

掷骰子常见任务