Core classes and interfaces in FoolGo
masterFoolGo is designed with an Object-Oriented Programming (OOP) approach, making it extensible. The following core components define the game logic and player behavior:
- FullBoard: The game board class. It provides efficient methods like
PlayMoveto update the game state. - Player: An interface for move selection. You can implement this interface to create different types of players. Key implementations include:
RandomPlayer: Returns a random legal position for the next move.UCTPlayer: Uses the UCT (Upper Confidence Bound applied to Trees) algorithm to determine the next move.
- Game: An interface that manages two
Playerobjects. An example implementation isMonteCarloGame, which can be initialized with twoRandomPlayerobjects.