[![CI](https://github.com/epic-64/binbreak/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/epic-64/binbreak/actions) [![Built With Ratatui](https://ratatui.rs/built-with-ratatui/badge.svg)](https://ratatui.rs/) https://github.com/user-attachments/assets/4413fe8d-9a3f-4c00-9c1a-b9ca01a946fc Guess the correct number (from binary to decimal) before time runs out! ![sc3.png](docs/sc3.png) Or lose a life trying. ![sc4.png](docs/sc4.png) Includes 16-bit mode as well, when you feel a little bit insane. ![sc6.png](docs/sc6.png) Includes multiple 4-bit modes, to train individual nibbles. ![sc5.png](docs/sc5.png) ## Colorblind friendly I discovered usability issues early on while testing on a monochromatic terminal emulator, and took this as a challenge to make it work well regardless of color perception. ![sc7.png](docs/sc7.png) ## Can you crack the high score? The longer your streak, the more points you get, but the faster the timer runs out! High scores are tracked for each game-mode separately, and saved in a text file relative to the executable. ## Play Download the release for your platform, see [Releases](https://github.com/epic-64/binbreak/releases). There is one file for linux and one for windows (.exe). ## Linux - download the file `binbreak-linux` - open a terminal and navigate to the folder where you downloaded it, e.g. `cd ~/Downloads` - make it executable: `chmod +x binbreak-linux` - run the game: `./binbreak-linux` ## Controls - use the arrow or vim keys for navigation - press Enter to confirm choices - press Esc or Q to exit a game mode or the game. CTRL+C also works to exit the game. ## Recommended terminals The game should run fine in any terminal. If you want retro CRT effects, here are some recommendations: - Windows: Windows Terminal (enable experimental "retro mode") - Linux: Rio (with CRT shader), Cool Retro Term ## Build/Run from source You may be inclined to not run binaries from the internet, and want to build from source instead. - download the source code - make sure you have Rust and Cargo installed, see [rustup.rs](https://rustup.rs/) - open a terminal and navigate to the folder where you downloaded the source code, e.g. `cd ~/Downloads/binbreak` - build the project: `cargo build --release` ## Run ```bash cargo run --release ``` # Contributing All pull requests are automatically checked by GitHub Actions CI, which runs tests, clippy, and formatting checks on Linux, Windows, and macOS. ## Test ```bash cargo test ``` ## Lint ```bash cargo clippy ``` ## Format ```bash cargo fmt ``` ## License MIT license ([LICENSE](LICENSE) or http://opensource.org/licenses/MIT)