Crate zero_sum [−] [src]
An analysis engine for zero-sum games.
This crate provides a number of traits that can be used to facilitate the implementation of a zero-sum game, and to allow the analysis thereof.
Usage
This crate is on crates.io and can be
used by adding zero_sum
to the dependencies in your project's Cargo.toml
.
[dependencies]
zero_sum = "0.1"
and add this to your crate root:
#[macro_use] extern crate zero_sum;
Implementation
The three basic traits are Ply
, Resolution
, and State
. These form
the basic building blocks of any zero-sum game.
In order to provide analysis, one must also create an evaluation type
(usually a tuple wrapper around a numeric type, i.e. struct Eval(i32);
)
with analysis::Evaluation
, and implement analysis::Evaluatable
and
analysis::Extrapolatable
on the State
type.
Example
A working example can be found in examples/tic_tac_toe.rs.
Modules
analysis |
Contains the traits and tools to provide analysis of zero-sum games. |
Macros
impl_tuple_operation |
Implement a binary operation for a tuple struct in terms of the enclosed type. |
prepare_evaluation_tuple |
Implement arithmetic operators ( |
Traits
Ply |
This trait marks a ply. |
Resolution |
A game's resolution. |
State |
The state of the game. |