Skip to content

abrahum/diro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diro

一个骰子表达式解析 lib 。

To-Do List

表达式解析:

  • 四则运算以及幂运算
  • 基本骰子表达式( xDy )
  • COC 规则(BPKQ)
  • 无限规则
  • 双重十字规则
  • Fate 规则

解析结果解释运行:

  • 投掷并运算结果
  • 输出表达式字符串
  • S 表达式输出
  • 格式化输出中间执行过程

Diro-py:

  • 解析表达式
  • 解释计算结果
  • 格式化输出中间执行过程

表达式规则

最基本的骰子表达式为 xDy, x 表示骰子个数, y 为骰子面数, 二者的取值范围为 u16。

骰子表达式大小写不敏感,不允许存在空格间隔。

COC 扩展规则可以在基础骰子表达式前后添加额外参数,可接受的参数有:

  • b: 奖励骰
  • p: 惩罚骰
  • k: 取大骰
  • q: 取小骰

奖励骰与惩罚骰仅对 D100 有效,取数骰仅在多个骰子时有效(当取数大于骰子数时,会在表达式解析阶段报错)。

额外参数可选跟随一个无符号数字表示骰子个数,当存在多个同类型额外参数,骰子个数为叠加计算结果。

例子:

  • b2bd100p : 奖励骰个数为 2 1-1=2 的 D100 骰子
  • k2d6 : 将会在解析阶段报错,数字默认左结合,正确的写法应为 2d6k

相关项目

OneDice: Today, we stand as one. (with some distance 2333)

About

a dice expr parse lib

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published