π² 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
1D6
if 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
enum
are 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.