- Reorganized the constructors in Move.java.

- Made the getBoardState method in Referee.java static.
- Created NeuralNetworkPlayer.java, though I don't know how to make the computer use it.
- Updated the Player interface to include passing the PlayerModel. Most of the current com agents ignore the data, but it is now available.
- Updated the train function in PlayerModel.java.
This commit is contained in:
Marshall
2012-04-29 14:19:10 -04:00
parent a756aa242d
commit 60a842d729
10 changed files with 201 additions and 94 deletions

View File

@@ -4,29 +4,30 @@ import model.Board;
import model.Move;
import model.comPlayer.generator.MinimaxMoveGenerator;
import model.comPlayer.generator.MoveGenerator;
import model.playerModel.PlayerModel;
public class MinimaxComPlayer implements Player{
private MoveGenerator moveGenerator = new MinimaxMoveGenerator();
public class MinimaxComPlayer implements Player {
private final MoveGenerator moveGenerator = new MinimaxMoveGenerator();
public MinimaxComPlayer() {
super();
}
@Override
public Move getMove(Board board) {
return moveGenerator.genMove(board, false);
}
@Override
public void denyMove() {
throw new UnsupportedOperationException("Not implemented");
}
@Override
public Move getMove(Board board, PlayerModel player) {
return moveGenerator.genMove(board, false);
}
@Override
public boolean isReady() {
return true; // always ready to play a random valid move
}
@Override
public String toString() {
return "Minimax ComPlayer";