schrum2 / MM-NEATv2

MM-NEAT version 2.0 is no longer supported. Please get MM-NEAT 3+ from https://github.com/schrum2/MM-NEAT
Other
11 stars 5 forks source link

Board Games #132

Closed schrum2 closed 7 years ago

schrum2 commented 8 years ago

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).

schrum2 commented 8 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.

schrum2 commented 7 years ago

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.

schrum2 commented 7 years ago

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.