ataxx
ataxx is a Rust package which provides various functionalities to deal with the Ataxx game in pure Rust. It provides various functionalities like board representation, move generation, UAI client creation, etc.
use *;
use FromStr;
// An implementation of the standard perft function which walks the move
// generation tree of strictly legal moves to count all the leaf nodes of a
// certain depth. Nodes are only counted at the end after the last make-move.
// Thus "higher" terminal nodes (e.g. mate or stalemate) are not counted,
// instead the number of move paths of a certain depth. Perft ignores draws by
// repetition or by the fifty-move rule.
//
// A more advanced implementation of perft is available as `ataxx::perft`.
Features
- Fast Board representation and Move generation, resulting a perft faster than libataxx.
- Types for various features of Ataxx, including
Position
,Move
,Square
,Piece
, etc. - Support for semi-unique hashing of Ataxx positions for hash tables, which is faster yet as strong as zobrist hashing.
- Parsing a FEN string into a
Position
.
Refer to the documentation for a full in depth list of features and functions.