角色属性生成器

实践练习C++17

简介

期待数周后,你与朋友终于聚在一起,第一次玩龙与地下城。每位玩家都要创建角色,属性通过六面骰决定。突然发现,大家都在等提议组织游戏的你拿出骰子,而你忘带了!幸好你会一点编程,可以快速编写掷骰模拟器。

任务说明

在龙与地下城中,每人先创建一个角色,具有力量、敏捷、体质、智力、感知、魅力六项属性。每项属性通过掷四枚六面骰、舍弃最小值、累加最大的三枚得到。重复六次,分别分配给六项属性。

初始生命值为 10 加体质调整值。体质调整值的计算方式是体质减 10,再除以 2,并向下取整。

按以上规则实现随机角色生成器。

例如,六组投掷结果为:

  • 5、3、1、6:弃 1,和为 14,作为力量。
  • 3、2、5、3:弃 2,和为 11,作为敏捷。
  • 1、1、1、1:弃一个 1,和为 3,作为体质。
  • 2、1、6、6:弃 1,和为 14,作为智力。
  • 3、5、3、4:弃一个 3,和为 12,作为感知。
  • 6、6、6、6:弃一个 6,和为 18,作为魅力。

体质为 3,因此调整值为 -4,生命值为 6。

补充 大多数语言有伪随机数生成器,但很少专门面向掷骰设计。Troll 就是这样一种语言。