A reversi (also known as Othello) implementation for desktop operating systems. Currently tested on Linux and Windows.
This is a port of the SailfishOS-App which can be found at https://github.com/Top-Ranger/harbour-reversi
This implementation features an easy way to implement different players. Currently avaiable are:
- Human: A human player
- Random AI: A simple AI selecting a random tile
- Greedy AI: Tries to get as many points as possible
- Tree AI: Builds a tree and tries to get the best possible result. Sometimes gets greedy.
- Balanced AI: An AI which tries to combine the more clever aspect of the "Tree AI" with the power of the "Greedy AI"
- Static Rule AI: An AI which determines the best turn by applying different static rules
- Tutorial: A player that tries to teach basic strategies
- Adaptive Tree AI: A variant of the Tree AI which tries to guess your next moves
- Control AI: An AI that tries to control the board by conquering key positions
- Assembly AI: An AI which uses several small entities to determine the best play
- Neural Network AI: An AI using a neural network
- Monte Carlo AI: An AI based on the idea of the "Monte Carlo method"
HOWTO implement an own AI/Player:
- Inhert Player
- Overwrite doTurn(Gameboard board), isHuman(), humanInput(int x, int y)
- Add new AI to Gamemaster::initialise(QString player1, QString player2, int bonus)
- Add new AI to UI