π² Rust Dice Roller
A small CLI tool to roll dice or flip a coin using Rust.
Features
- Roll dice in RPG format (e.g.,
2D20,1D6) - Flip a coin with commands like
flipcoin,flip, orf - Only allows valid dice types: D3, D4, D5, D6, D7, D8, D10, D12, D14, D16, D20, D24, D30, D50, D60, D100
- Graceful fallback to default
1D6if input is missing or malformed
π§ Supported Input Formats
| Input | Behavior |
|---|---|
| (none) | Defaults to rolling 1D6 |
D6 |
Interpreted as 1D6 |
2D20 |
Rolls two D20 dice |
3d100 |
Case-insensitive β 3D100 |
1 |
Interpreted as 1D6 |
1D |
Fallback β 1D6 |
2D99 |
Invalid die type β fallback to 2D6 |
fezfe |
Malformed β fallback to 1D6 |
Dice types not included in the supported
enumare automatically rejected and fallback toD6.
π Library & CLI
This project is structured as a hybrid library + binary crate:
It provides:
- A CLI entry point in
src/main.rs, - Reusable modules:
dices.rs: handles parsing and validating dice expressions,throw.rs: handles random dice rolls and coin flips.
π¦ As a library dependency
You can install it with:
Or manually add it to your Cargo.toml:
[]
= "0.1.0"
If youβre using the crate locally (e.g. during development), reference it via a local path:
[]
= { = "../path/to/rollr" }
π§° As a binary
You can also use rollr as a command-line tool without embedding it into another project.
π Running from source:
π¦ Install locally (for global CLI use):
Install it as a binary:
Then use it from anywhere:
Donβt forget to add $HOME/.cargo/bin to your PATH if itβs not already.