gurgle 0.3.0

Yet another dice rolling crate
Documentation
# Gurgle

[![Badge with github icon][github-badge-img]][github-home] [![Badge with document icon][doc-badge-img]][doc-home]

Gurgle is yet another dice rolling crate using TRPG-like syntax.

## Have a Taste

```rust
let attack = "3d6+2d4+1";

println!("roll your attack({}), result: {}", attack, gurgle::roll(attack).unwrap());

// output: roll your attack(3d6+2d4+1), result: 16
```

```rust
use gurgle::Gurgle;

let attack = "3d6+2d4+1>15";
let dice = Gurgle::compile(attack).unwrap();
let result = dice.roll();

println!("roll your attack({}), result: {}", attack, result);

// output: roll your attack(3d6+2d4+1>15), result: (4+3+1) + (1+3) + 1 = 15, target is >15, failed
```

Notice: `Display` trait for rolling result is implemented only if feature `detail`(which is enabled by default) is enabled.

But you can always use `result.value()` to get rolling result value(i64), and `result.success()` to get if it's a success.

Gurgle also support multiply and parentheses, see [docs][doc-home] for full syntax and example.

## License

BSD 3-Clause Clear License, See LICENSE.

[github-badge-img]: https://img.shields.io/badge/Github-7sDream%2Fgurgle-8da0cb?style=for-the-badge&labelColor=555555&logo=github
[github-home]: https://github.com/7sDream/gurgle
[doc-badge-img]: https://img.shields.io/badge/docs-on_docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=read-the-docs
[doc-home]: https://docs.rs/gurgle/latest/gurgle/