My tiny implementation of Othello/Reversi console game with AI player and MinMax algorithm (Alpha-Beta pruning).
START < color > < time for move (2-30 sec) >
- starts game
MOVE < game state >
- program answers with best move
- game state: string, 64 characters, contains only 3 types: '-' represents empty spot, 'O' represents white coin, 'X' represents black coin.
- Example of initial configuration: ---------------------------OX------XO---------------------------
STOP
- immediately stops program executing
Collection of several heuristics, calculates value of a board position. Choosed heuristics: mobility, coin parity,
utility value and corners-captured aspects of a board configuration. Each heuristic return value between -100 to 100 and these values
are weighted appropriately to play an optimal game.
Heuristics inspiration:
theory,
theory and
github