Closed schrum2 closed 7 years ago
Some suggested classes to make TicTacToe, which can extend BoardGame TicTacToePlayer, which can extend BoardGamePlayer BoardGameExecutor: takes a BoardGame and an array of BoardGamePlayers, and repeatedly asks the BoardGamePlayers to getAction, which is then sent to the BoardGame via an update method.
There are some TODO comments indicating that states should be copied before being modified. In fact, this is so universal that a copy() method should be added to the BoardGameState interface, and implemented for all games.
I feel like this task is finished, so I'm closing it. From this point forward, the details of issues with board games should be handled by their own GitHub issues.
Create a general BoardGame task that can be extended to create any board game. A BoardGame class will be needed that can take an array of BoardGamePlayer instances. These need to be abstract classes that get extended to create specific games. A good place to start would be TicTacToe and TicTacToePlayer. TicTacToePlayer should also be abstract, because the details of how it plays will depend on the specific player (RandomTicTacToePlayer, MinimaxTicTacToePlayer, NNTicTacToePlayer).