• 欢迎来到小可 · Wiki,人人可编辑的,多平台聊天机器人“小可”的官方文档资源。
  • 小可很可爱,请给我们打钱
  • 原 MkDocs 已迁入本站。若发现 404 属正常现象,请点击左上角搜索您想要的模块。

dice/骰子表达式

来自小可 · Wiki,人人可编辑的,QQ机器人“小可”的官方文档资源
Dorowolf讨论 | 贡献2024年3月25日 (一) 04:44的版本

骰子表达式是可以用于表示掷骰子类型、数量等的数学表达式,可与常用骰系的骰子机器人兼容。

骰子表达式对字母大小不敏感,且结果为整数,浮点数结果将自动转为整数。

标准骰

最基础的标准骰格式为 xDy,即投掷 xy 面骰子,再计算它们的点数总和。

其中 x 是可选值,缺省则默认为 1。

例子
骰子表达式示例:
  • 投掷 1 个 6 面骰子:D6=4
  • 投掷 2 个 8 面骰子:2D8=[3+4]=7

百分骰

百分骰 D100 作为常用表达式,有一个专门别名 D%

例子
骰子表达式示例:
  • 投掷 1 个百分骰:D%=42

奖惩骰与惩罚骰

优劣势骰格式为 (B|P)x,即投掷一个百分骰后,额外投掷 xD10,选择最小/大的骰子点数作为百分骰点数的十位部分。

其中 P 为取大,B 为取小。x 是可选值,缺省则默认为 1。

例子
骰子表达式示例:
  • 投掷 1 次奖励骰:(D100=72, B=4)=42
  • 投掷 3 次奖励骰:(D100=96, B3=[4, 6, 3])=36
  • 投掷 1 次惩罚骰:(D100=42, P=7)=72
  • 投掷 3 次惩罚骰:(D100=36, P3=[4, 6, 9])=96

优劣势骰

优劣势骰格式为 xDy(K|Q)z,即投掷骰子后选取 z 个最大/小的骰子点数后,计算它们的点数总和。

其中 K 为取大,Q 为取小。z 是可选值,且不能大于 x,缺省则默认为 1。

例子
骰子表达式示例:
  • 投掷 3 个 6 面骰,选 1 个最大的:3D6K=[6, 4, 2]=6
  • 投掷 3 个 6 面骰,选 1 个最小的:3D6Q=[6, 4, 2]=2
  • 投掷 4 个 6 面骰,选 2 个最大的:4D6K2=[4, 1, 3, 2]=[4+3]=7
  • 投掷 4 个 6 面骰,选 2 个最小的:4D6Q2=[4, 1, 3, 2]=[1+2]=3

FATE 骰

FATE 骰(或 Fudge 骰)是一种特殊的 6 面骰子,六个面分别为 -、-、0、0、+、+,分别代表 -1、0、1。

FATE 骰格式为 xFxDF,即投掷 x 个 FATE 骰子,再计算它们的点数总和。

其中 x 是可选值,缺省则默认为 4。

例子
骰子表达式示例:
  • 投掷 4 个 FATE 骰子:F=[+, -, 0, +]=1
  • 投掷 6 个 FATE 骰子:6F=[+, 0, -, +, 0, +]=2

其他

骰子运算

骰子表达式支持数学运算,包括但不限于加减乘除(+-*/)、乘方(**)与括号等。

数字与骰子项之间、骰子项之间会自动添加乘号。

骰子项暂不支持使用带括号的表达式代替数字,使用括号内的表达式与骰子项将被视为两个不同的项。

例子
骰子表达式示例:
  • 2*2D6**(2+1)=2*(2D6=[5+3]=8)**(2+1)=1024
  • 3*5F=3*(5F=[0, 0, 0, -, -]=-2)=-6
  • D6D6D6=(D6=6)*(D6=6)*(D6=1)=36
  • (2+5)D6=(2+5)*(D6=4)=28
  • 10/D6=10/(D6=3)=3

多轮骰点

多轮骰点的格式为 N#<表达式>,用于更方便的重复投掷骰子。

N 必须放在表达式最前面,缺省则默认为 1。

Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。