Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jarcane/rouler
An easy to use dice rolling library for Rust
https://github.com/jarcane/rouler
Last synced: 3 months ago
JSON representation
An easy to use dice rolling library for Rust
- Host: GitHub
- URL: https://github.com/jarcane/rouler
- Owner: jarcane
- License: mpl-2.0
- Created: 2016-12-10T13:41:37.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-01-27T21:09:04.000Z (almost 3 years ago)
- Last Synced: 2024-05-12T08:01:08.563Z (6 months ago)
- Language: Rust
- Size: 47.9 KB
- Stars: 17
- Watchers: 4
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-pest - rouler - An easy to use dice rolling library for Rust. (Projects)
README
# rouler
[![Crates.io](https://img.shields.io/crates/v/rouler.svg)](https://crates.io/crates/rouler) [![docs.rs](https://docs.rs/rouler/badge.svg)](https://docs.rs/rouler/) [![Build Status](https://travis-ci.com/jarcane/rouler.svg?branch=master)](https://app.travis-ci.com/jarcane/rouler)A container-like system for generating dice rolls
## Usage
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.
```rust
extern crate rouler;use rouler::Roller;
let mut stat = Roller::new("3d6");
println!("STR: {}", stat.total());
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!");
}
```## License
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 http://mozilla.org/MPL/2.0/.