3 releases (stable)
1.0.1 | Jul 1, 2023 |
---|---|
1.0.0 | Apr 9, 2021 |
0.1.0-alpha |
|
#225 in Games
54KB
1.5K
SLoC
GameOfLife
The implementation of the Conway's Game of Life rust package
Installation
$ cargo install terminal_game_of_life
Usage
$game-of-life -i https://example.com --live-cell +
$game-of-life -i /path/to/file.txt --height 35 --width 35
$game-of-life -s 1337 --delay 250
Check game-of-life --help
for usage info.
USAGE:
game-of-life [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-s, --seed <seed> Specify the seed number to use as an initial state [default: random]
-i, --input <input> Specify the path/URL for the file to use as an initial state. (used instead of seed)
--width <width> Specify the width of generated universe. [default: terminal width]
--height <height> Specify the width of generated universe. [default: terminal height]
--live-cell <live-cell> Specify the live-cell representation [default: █]
--dead-cell <dead-cell> Specify the dead-cell representation [default: ]
-d, --delay <delay> Specify the introduced delay between each generation [default: 50]
Demo
Development
- Install rustup via
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
- Install rust stable version for development
rustup update
- Install rust nightly for testing via
rustup install nightly
- Clone the repo
- Navigate to the rust CLI implementation
cd game-of-life/CLI/rust
. - run
cargo build
to build the crate/CLI binaries. - run
cargo run --
to run the built binaries.
Linting
Run cargo fmt -- --check
Testing
Run cargo +nightly test
Documentation
Run cargo doc
Release
- Update the version number
- Run
cargo build --release
and commit changes - Update the CHANGELOG
- Create a git tag
rust/v#{version_number}
ex:rust/v0.1.1-pre
Extra information
Contributing
License
Code of Conduct
Dependencies
~15–25MB
~427K SLoC