#game #reversi #minesweeper #board #gomoku #board-game

no-std gamie

A Rust库为几个经典小型游戏提供抽象

3个不稳定版本

0.9.1 2024年3月22日
0.8.1 2022年2月16日
0.6.0 2021年12月20日
0.4.0 2021年11月28日

#223 in 游戏开发

Download history 57/week @ 2024-07-27

57 每月下载次数

GPL-3.0-or-later

51KB
1K SLoC

gamie

一个Rust库为几个经典小型游戏提供抽象

Version Documentation License

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