One D Six

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

GitHub Release Date GitHub commits since latest release

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 generates a set of Dice and rolls them // quickroll can return any int type (i8 - isize, u8 - usize) 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 = "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 = 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`!