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
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
模块。
实现
三个基本特质是 Ply
、Resolution
和 State
。这些构成了任何零和游戏的基本构建块。
为了提供分析,还必须创建一个与 analysis::Evaluator
关联的评估类型,该类型实现 analysis::Evaluation
(通常是一个围绕数字类型的元组包装器,例如 struct Eval(i32);
)。最后,在 State
类型上实现 analysis::Extrapolatable
。
示例
提供的井字棋实现非常简单,使用示例可以在 examples/tic_tac_toe.rs 中找到。
依赖关系
~0–3.5MB
~68K SLoC