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

dice/骰子表达式

来自小可 · Wiki,人人可编辑的,QQ机器人“小可”的官方文档资源

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

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

标准骰

基础

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

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

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

百分骰

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

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

优劣势骰

优劣势骰格式为 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

奖励骰与惩罚骰

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

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

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

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

无限骰点

无限骰点是一种多轮的骰点规则,格式为xAv[Kz][Qw][My],即投掷 xy 面骰子,计算点数不低于 v 的骰子个数,以此为新的骰子个数进行下一轮投掷,直到骰子个数为 0,然后求出所有累计结果中点数不高于 w 以及不低于 z(若有)的骰子个数,即为最终结果。

其中 zwy 是可选值,y 缺省则默认为 10,w 缺省则默认为 8。如果 v 为 0,则代表不进行加骰。

<> 标记的点数代表其满足加骰线,被 * 标记的点数代表其满足要求。

例子
骰子表达式示例:
  • 投掷 4 个 9 面骰,加骰线为 6,选择不低于 8 以及不高于 4 的值:
    4A6K8Q4M9=[{<9*>, <7>, 5, <9*>}, {3*, <9*>, 3*}, {<7>}, {3*}]=6

双重十字骰点

双重十字骰点是一种多轮的骰点规则,格式为xCv[My],即投掷 xy 面骰子,计算点数不低于 v 的骰子个数,以此为新的骰子个数进行下一轮投掷,直到骰子个数为 0。

其中 y 是可选值,缺省则默认为 10。

<> 标记的点数代表其满足加骰线。

最终结果计算为:(投掷回合 - 1) * y + 最后回合最大点数

例子
骰子表达式示例:
  • 投掷 4 个 10 面骰,加骰线为 6:4C6=[{4, <9>, 2, 1}, {<8>}, {<8>}, {<9>}, {4}]=44
  • 投掷 4 个 7 面骰,加骰线为 3:4C3M7=[{<5>, <4>, <7>, <3>}, {1, 2, <4>, 2}, {2}]=16

其他

骰子运算

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

骰子项与括号之间会自动添加乘号。

例子
骰子表达式示例:
  • 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。