chessai

college code for ai playing chess in java

git clone https://9o.is/git/chessai.git

commit 383801fcdb38167341f0a7a097a3b423b05ddf60
parent 476af5e937cd2e5580ebd7c02881af05e63346cd
Author: Jul <jul@9o.is>
Date:   Mon,  3 Dec 2012 19:11:26 -0500

Able to make random moves.

Diffstat:
Msrc/main/java/chess/ChessGame.java | 27+++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/main/java/chess/ChessGame.java b/src/main/java/chess/ChessGame.java @@ -3,6 +3,9 @@ package chess; import chess.server.*; import chess.utils.ChessDirection; +import java.util.ArrayList; +import java.util.List; + /** * */ @@ -28,11 +31,27 @@ public class ChessGame { // our turn while(status.isReady()) { + List<ChessCoordinate> playerPieces = new ArrayList<ChessCoordinate>(); + List<ChessMove> moves = new ArrayList<ChessMove>(); + + final byte[][] state = board.getState().getState(); + for(int i=0; i<state.length; i++) + for(int j=0; j<state[i].length; j++) { + ChessPiece piece = ChessPiece.find(state[i][j]); + if(piece.getColor() == player.getColor()) + playerPieces.add(new ChessCoordinate(j,i)); + } + + for(ChessCoordinate src : playerPieces) { + List<ChessMove> possibleMoves = + ChessMove.possibleMoves(src, board.getState()); + for(ChessMove move : possibleMoves) + moves.add(move); + } + // just a test - ChessMove move = new ChessMove( - new ChessCoordinate('c',2), - ChessDirection.FORWARD, - 1); + int i = new java.util.Random().nextInt(moves.size()); + ChessMove move = moves.get(i); ChessClock clock = new ChessClock(status.getSecondsLeft());