3 个稳定版本
1.1.0 | 2021 年 9 月 11 日 |
---|---|
1.0.1 | 2021 年 9 月 11 日 |
#1424 在 游戏开发
8KB
138 行
Dicey
Dicey 是一个简单的库,用于解析桌面游戏中可能遇到的骰子字符串(例如,1d20、2d12、3d8)。
提供了一个结构体 DieRoll 和一个函数 parse(&str),该函数将输入字符串转换为 DieRolls 的列表。
用法
use dicey::parse;
use rand::*;
fn main() {
if let Some(mut rolls) = parse("5d6") {
if let Some(roll) = rolls.pop() {
for _ in 0..roll.quantity {
println!("{}", random::<u8>() % roll.faces + 1);
}
}
}
}
还包含用于从骰子字符串模拟骰子投掷的命令行工具 dicey。
示例
-
抛硬币(正面 = 1,反面 = 2):dicey 1d2
-
Yahtzee:dicey 5d6
-
D&D 初始行动 & 储存投掷:dicey 1d20
-
Pathfinder 魔法飞弹伤害:dicey 1d4+1
-
各种带加成和减损的骰子:dicey 1d4,2d6+1,3d8-2
依赖项
~305KB