One D Six

Crates.io docs.rs Crates.io downloads Crates.io downloads of latest version License

GitHub Release Date GitHub commits since latest release GitHub code size in bytes GitHub repo size

Rolls some dice

Usage

From Command Line

```bash

Install

cargo install one-d-six

Print help

one-d-six -h

Print total of each dice

one-d-six 3d4 2d6 1d20

Print each die cast of each dice roll

one-d-six --complex 2d20 1d12 ```

As Library

This is not complete usage documentation. This is the expected most common usage. ```rust use onedsix::{ quickroll, Dice, };

// Quickly generating a set of Dice and rolls them let coinflip: u8 = quickroll("1d2"); if coinflip == 1 { println!("Heads!"); } else { println!("Tails!"); }

// Creating sets of dice let set1 = Dice::new(2, 4); // Creates 2d4 with Dice::new let set2: Dice = "1d20".parse().unwrap(); // Creates 1d20 by parsing str

// Combining sets of dice let mut dice = set1 + set2; // Creates 2d4 + 1d20

// Prints 50 rolls of the dice set for _ in 0..50 { // Method 1: Printing Dice struct println!("2d4 + 1d20: {}", dice.roll_all());

// Method 2: Printing value of Dice::total(&self)
let total: u32 = dice.total();
println!("2d4 + 1d20: {}", total);

}

// Getting value of each die cast let results = format!("{:?}", dice); `` Want to roll for your own custom type? Just implementoned_six::RollableonMyCustomType, and then you can create a newDie`!