| Crates.io | dice_roller_rs |
| lib.rs | dice_roller_rs |
| version | 0.1.1 |
| created_at | 2025-12-01 23:29:31.432754+00 |
| updated_at | 2025-12-09 13:31:58.901905+00 |
| description | A Rust library for simulating dice rolls in RPG games |
| homepage | |
| repository | https://github.com/jswalker-data/dice_roller_rs |
| max_upload_size | |
| id | 1960846 |
| size | 48,404 |
A Rust library for simulating dice rolls in RPG-style games.
Add this to your Cargo.toml:
[dependencies]
dice_roller_rs = "0.1.0"
use dice_roller_rs::{roll, roll_simple, roll_advantage, roll_disadvantage};
fn main() {
// Roll 2d6+3 (two six-sided dice plus 3)
let result = roll(2, 6, 3);
println!("{}", result); // e.g., "2d6+3: [4, 5] = 12"
// Access individual components
println!("Rolls: {:?}", result.rolls);
println!("Total: {}", result.total);
// Roll a simple d20
let d20 = roll_simple(20);
println!("d20: {}", d20);
// Roll with advantage
let advantage = roll_advantage(20);
println!("d20 with advantage: {}", advantage);
// Roll with disadvantage
let disadvantage = roll_disadvantage(20);
println!("d20 with disadvantage: {}", disadvantage);
}
roll(num_dice: u32, sides: u32, modifier: i32) -> DiceRollRoll multiple dice with a modifier. Returns a DiceRoll struct containing:
num_dice: Number of dice rolledsides: Number of sides on each diemodifier: Modifier added to the totalrolls: Vector of individual roll resultstotal: Sum of rolls plus modifierroll_simple(sides: u32) -> u32Roll a single die and return the result.
roll_advantage(sides: u32) -> u32Roll twice and return the higher result.
roll_disadvantage(sides: u32) -> u32Roll twice and return the lower result.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.