经过几周的期待,你和朋友们终于聚在一起,开始你们的第一局 Dungeons & Dragons(D&D)。 因为这是游戏的第一场,每位玩家都要生成一个角色来玩。 角色的能力由掷 6 面骰子决定,可骰子_到底_在哪儿呢? 你震惊地发现,朋友们正等着_你_来准备骰子,毕竟玩 D&D 可是你出的主意! 慌乱之中,你意识到自己忘了带骰子,那就意味着没法玩 D&D 了。 好在你有一些基本的编程技能,很快就想出了一个解决办法:写一个程序来模拟掷骰子。
在 Dungeons & Dragons 游戏中,每位玩家首先要生成一个可以扮演的角色。 这个角色除了其他特征之外,还有 6 项属性:力量、敏捷、体质、智力、感知和魅力。 这 6 项属性的数值是随机确定的。 具体做法是掷 4 颗六面骰子,记下最大的 3 颗骰子的点数之和。 每项属性掷 1 次,一共重复 6 次。
你角色的初始生命值是 10 加上你角色的体质调整值。 用你角色的体质减去 10,再除以 2 并向下取整,就得到你角色的体质调整值。
编写一个遵循上述规则的随机角色生成器。
例如,这 6 次掷 4 颗骰子的结果可能如下:
因为体质是 3,所以体质调整值是 -4,生命值是 6。
大多数编程语言都有(伪)随机数生成器,但很少有编程语言是专门为掷骰子设计的。 其中一种就是 Troll。