Crate gamie

source ·
Expand description


A Rust library provides abstractions for several classic tiny games.

Version Documentation License

gamie provides simple yet adequate abstractions for several classic tiny games.

gamie only came with a few dependencies, it can be easily integrated into your projects.


To use gamie, you should enable modules in Cargo.toml. For example tictactoe:

gamie = { version = "0.9.0", features = ["std", "tictactoe"] }

Now you can use the TicTacToe game abstraction:

use gamie::tictactoe::{TicTacToe, Player as TicTacToePlayer, Status as TicTacToeGameStatus};

let mut game = TicTacToe::new().unwrap();, 1, 1).unwrap();, 0, 0).unwrap();, 0, 2).unwrap();, 2, 0).unwrap();, 1, 0).unwrap();, 1, 2).unwrap();, 2, 1).unwrap();, 0, 1).unwrap();, 2, 2).unwrap();
assert_eq!(game.get_game_status(), &TicTacToeGameStatus::Tie);

Check the docs for further information.


Currently, the following modules are available:

§Serialize / Deserialize

Bring in the serde feature to enable serialization and deserialization for structs Opt in the bincode feature to enable encoding and decoding with bincode


This crate runs flawlessly on bare metal. To remove the Rust standard library dependency, opt out the std feature by disabling default-features in Cargo.toml:

gamie = { version = "0.9.0", default-features = false, features = ["tictactoe"] }


GNU General Public License v3.0