1 unstable release

0.1.0 Apr 3, 2024

#128 in Games

Download history 122/week @ 2024-04-02 10/week @ 2024-04-09

132 downloads per month

Apache-2.0

78KB
1K SLoC

ataxx

Build Status License Crates.io

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 std::str::FromStr;
use ataxx::{ Board, Square, Move };

fn main() {
    // Parse Ataxx Board from FEN
    let mut board = Board::from_str("x5o/7/7/7/7/7/o5x x 0 1").unwrap();
    println!("{}" board);

    // Make moves on the Board
    board.make_move(Move::new_single(Square::F1));
    println!("{}", board);

    // Undo moves from the Board
    board.undo_move();
    println!("{}", board);
}

Features

  • Fast Board representation and Move generation using BitBoards.
  • Types for various features of Ataxx, including Board, Position, Move, Square, Color, etc.
  • Support for semi-unique hashing of Ataxx positions for hash tables.
  • Parsing Position and Board from FEN strings.

Refer to the documentation for a full in depth list of features and functions.

Dependencies

~0.5–1MB
~22K SLoC