#游戏 #井字棋 #象棋 #tak

nightly bin+lib zero_sum

带游戏实现的零和游戏分析引擎

7 个版本 (稳定版)

使用旧 Rust 2015

1.2.0 2017 年 4 月 23 日
1.1.2 2017 年 2 月 9 日
1.0.0 2016 年 11 月 3 日
0.2.0 2016 年 9 月 14 日
0.1.0 2016 年 9 月 9 日

1338游戏开发


被用于 takkerus

GPL-3.0 许可证

240KB
5K SLoC

zero_sum

零和游戏的分析引擎。

此包提供了一些特质,可用于简化零和游戏的实现和分析。

此外,通过可选功能还提供了井字棋和 tak 游戏的实现。

有关使用说明,请参阅 文档


lib.rs:

零和游戏的分析引擎。

此包提供了一些特质,可用于简化零和游戏的实现和分析。

此外,通过可选功能还提供了井字棋和 tak 游戏的实现。

使用方法

此包位于 crates.io,可以通过在项目 Cargo.toml 的依赖项中添加 zero_sum 来使用。

[dependencies]
zero_sum = "1.2"

并在你的 crate 根目录中添加以下内容

extern crate zero_sum;

如果你要实现库,你需要在 extern crate zero_sum; 之前添加一个 #[macro_use] 行。

如果你想要使用 zero_sum::impls 模块中提供的实现之一,你需要在项目 Cargo.toml 中指定相应的功能。

[features]
default = ["zero_sum/with_tak"]

例如,要包含 tak 模块。

实现

三个基本特质是 PlyResolutionState。这些构成了任何零和游戏的基本构建块。

为了提供分析,还必须创建一个与 analysis::Evaluator 关联的评估类型,该类型实现 analysis::Evaluation(通常是一个围绕数字类型的元组包装器,例如 struct Eval(i32);)。最后,在 State 类型上实现 analysis::Extrapolatable

示例

提供的井字棋实现非常简单,使用示例可以在 examples/tic_tac_toe.rs 中找到。

依赖关系

~0–3.5MB
~68K SLoC