3个不稳定版本
0.9.1 | 2024年3月22日 |
---|---|
0.8.1 | 2022年2月16日 |
0.6.0 |
|
0.4.0 |
|
#223 in 游戏开发
57 每月下载次数
51KB
1K SLoC
gamie
一个Rust库为几个经典小型游戏提供抽象
gamie为几个经典小型游戏提供简单而足够的抽象
gamie只包含一些依赖项,可以轻松集成到项目中。
使用方法
要使用gamie,您应该在Cargo.toml
中启用模块。例如tictactoe
[dependencies]
gamie = { version = "0.9.0", features = ["std", "tictactoe"] }
现在您可以使用TicTacToe
游戏抽象
use gamie::tictactoe::{TicTacToe, Player as TicTacToePlayer, Status as TicTacToeGameStatus};
let mut game = TicTacToe::new().unwrap();
game.place(TicTacToePlayer::Player0, 1, 1).unwrap();
game.place(TicTacToePlayer::Player1, 0, 0).unwrap();
game.place(TicTacToePlayer::Player0, 0, 2).unwrap();
game.place(TicTacToePlayer::Player1, 2, 0).unwrap();
game.place(TicTacToePlayer::Player0, 1, 0).unwrap();
game.place(TicTacToePlayer::Player1, 1, 2).unwrap();
game.place(TicTacToePlayer::Player0, 2, 1).unwrap();
game.place(TicTacToePlayer::Player1, 0, 1).unwrap();
game.place(TicTacToePlayer::Player0, 2, 2).unwrap();
assert!(game.is_ended());
assert_eq!(game.get_game_status(), &TicTacToeGameStatus::Tie);
查看文档以获取更多信息。
模块
目前,以下模块可用
序列化/反序列化
引入serde
功能以启用结构的序列化和反序列化。选择bincode
功能以启用使用bincode的编码和解码
no_std
该crate在裸金属上运行得很好。要删除Rust标准库依赖项,请在Cargo.toml
中禁用default-features
来禁用std
功能
[dependencies]
gamie = { version = "0.9.0", default-features = false, features = ["tictactoe"] }
许可证
GNU通用公共许可证v3.0
依赖关系
~0.4–1MB
~23K SLoC