5个版本 (重大更新)

0.5.0 2021年7月30日
0.4.0 2021年7月12日
0.3.0 2021年7月12日
0.2.0 2021年7月12日
0.1.0 2021年7月11日

#13 in #滚动

BSD-3-Clause-Clear许可

45KB
962

咕噜噜

Badge with github icon Badge with document icon

咕噜噜是另一个使用类似TRPG语法的掷骰crate。

尝一尝

let attack = "3d6+2d4+1";

println!("roll your attack({}), result: {}", attack, gurgle::roll(attack).unwrap());

// output: roll your attack(3d6+2d4+1), result: 16
use gurgle::Gurgle;

let attack = "3d6+2d4+1>15";
let dice = Gurgle::compile(attack).unwrap();
let result = dice.roll();

println!("roll your attack({}), result: {}", attack, result);

// output: roll your attack(3d6+2d4+1>15), result: (4+3+1) + (1+3) + 1 = 15, target is >15, failed

注意:仅当启用功能detail(默认启用)时,才实现了用于掷骰结果的Display trait。

但是您始终可以使用result.value()来获取掷骰结果值(i64),以及使用result.success()来获取是否成功。

咕噜噜也支持乘法和括号,详见文档中的完整语法和示例。

许可

BSD 3-Clause Clear License,见LICENSE。

依赖

~2.2–3MB
~59K SLoC