Skip to content
An easy to use dice rolling library for Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

rouler Build Status

A container-like system for generating dice rolls


rouler is a Rust library for generating die rolls from convenient little state containers. A die roll can be created and stored and called repeatedly to generate new values.

This allows easy use and re-use of specific die rolls, and even comparison.

extern crate rouler;

use rouler::Roller;

let mut stat = Roller::new("3d6");

println!("STR: {}",;
println!("DEX: {}", stat.reroll());

println!("Last stat roll: {}", stat);

let att = Roller::new("1d20 + 5");
let def = Roller::new("1d20 + 2");

if att > def {
    println!("You struck the monster!");        
} else {
    println!("You missed!");

Current Wishlist

  • Arbitrary die sequences, for custom dice: Roller::new("4d[1, 3, 5, 7]")
  • Better error handling for parser/syntax errors
  • (Maybe) FromStr implementation for Rollers: "3d20 * 2".from_str().unwrap()"


This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at

You can’t perform that action at this time.