An AI for Homeworlds that uses Negamax.
curl https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp > tests/catch.hpp
make
Will make a grammar or something once format is finalized. For now, here's an example. The first line is "[number of players] [number of homeworlds built] [current player]".
2 2 1
Alice (1, b1y2) 1g3 1g1 1g2
Bob (2, g3y2) 2b3 2b1 2b2
Sirius (r3) 1g1
Pluto (g1) 2b1
./main
takes the current game state as input and outputs the AI's moves for the turn.
.judge
takes a game state and a turn as input and outputs the new game state, as well as whether a player has won the game.
python run_game.py [initial game state file]
runs the AI against itself using the judge.