Skip to content
A C++ Ataxx library to handle move generation, move validation, and other aspects of the board game Ataxx
C++ CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
src
tests
.clang-format
.gitignore
CMakeLists.txt
LICENSE
README.md

README.md

libataxx

A C++ library for the board game Ataxx written using bitboards. Capable of FEN parsing, move generation, board printing, and other things.

Build

git clone https://github.com/kz04px/libataxx
mkdir libataxx/build
cd libataxx/build
cmake ..
make

Header only

A header only version of libataxx can be found in the 'header_only' folder. This version should be functionally identical.

Performance

A mid range Intel i5 processor is capable of processing several hundred million nodes per second.

Limitations

Libataxx is specifically designed for Ataxx on a 7x7 board, as such, it does not support any other board size.

Usage

Some of the bit twiddling required for bitboards has been abstracted away, but at least a passing knowledge of bitwise operators is recommended. The 'examples' folder contains some basic examples.

Testing

To run the included tests, navigate to the build directory and then run:

./libataxx-test

License

Libataxx and all examples are under the MIT license.

Credits

  • Catch2 -- A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)
You can’t perform that action at this time.