#dice-notation #dice #dice-roll #random #gamedev

dice_forge

一个使用骰子表示法生成随机数的简单数学运算的Crate。

4个版本 (2个破坏性更新)

0.3.0 2024年1月8日
0.2.2 2023年3月13日
0.1.1 2023年3月9日
0.1.0 2023年3月8日

#444 in 游戏开发

27次每月下载

MIT/Apache

36KB
389

Rust Docs License License: MIT

DiceForge

DiceForge是一个Rust库,用于模拟骰子滚动。它提供了一个简单且易于使用的API来生成随机骰子滚动并计算不同结果的概率。

功能

支持标准骰子表示法(例如1d6,2d10等)。可以为滚动添加、减去或乘以修饰符

安装

要在Rust项目中使用DiceForge,请在Cargo.toml文件中添加以下内容

[dependencies]
dice_forge = "0.2.2"

用法

要滚动一个标准的六面骰子,您可以使用编译好的Equation对象上的roll函数

use dice_forge::Equation;

let die = Equation::new("1d6").unwrap();
let roll = die.roll().unwrap();
println!("You Rolled a {}", roll);

您还可以为您的滚动添加修饰符

use dice_forge::Equation;

let die = Equation::new("1d6+5").unwrap();
let roll = die.roll().unwrap();
println!("You Rolled a {} with a +5 modifier", roll);

它甚至考虑了运算顺序,因此您可以编写像这样的复杂方程

use dice_forge::Equation;

let die = Equation::new("3+1d6(4+3^2)-6/2").unwrap();
let roll = die.roll().unwrap();
println!("You Rolled a {}", roll);

如果您不想创建一个Equation对象,您可以直接滚动方程

use dice_forge::roll;

let damage = roll::roll("1d6").unwrap();
println!("You do {} damage", damage);

您还可以使用优势或劣势进行滚动

use dice_forge::Equation;
let die = Equation::new("d20").unwrap();
let mut roll = die.advantage().unwrap();
println!("You rolled {} with advantage", roll);
roll = die.disadvantage().unwrap();
println!("You rolled {} with disadvantage", roll);

您可以在docs.rs上查看其余的文档

贡献

欢迎贡献!如果您发现错误或想添加新功能,请在GitHub上提交拉取请求。

或者,如果您愿意,您可以支持我

ko-fi

依赖关系

~310KB