Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

AltStyle によって変換されたページ (->オリジナル) /