1 stable release
1.1.0 | Oct 18, 2020 |
---|
#801 in Games
13KB
162 lines
RPG Dice Rust
I used a command line dice roller as a way of learning how Perl's package ecosystem worked, so I figured I'd do it again as a modest Rust project.
It uses Regex, SmallRng, and Evalexpr to do dice rolling. Due to the use of Evalexpr, it might also support more than I had intended initially (just integer math).
Testing
Run tests:
cargo test
Fuzzing
Uses cargo fuzz. Requires a nightly compiler.
See fuzzing targets:
cargo fuzz list
Run a fuzzing target:
rustup run nightly cargo fuzz run <target>
Building for Android/Termux
You can cross-compile the project to run on Termux. Download the Android Native Development Kit (NDK) and the appropriate Rust target, and run the command like this:
$ env CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=/path/to/ndk/android-ndk-r21/toolc
hains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang cargo build --target aarch64-linux-android
That example is for my phone (Galaxy Note 8), you may need a different Clang toolchain and target depending on your phone's CPU architecture.
Dependencies
~8.5MB
~148K SLoC