Starting to implement the rules:

Patterns for moving king, bishop, knight and rook have been included.
This commit is contained in:
2006-01-10 21:53:31 +00:00
parent d2c08d60c5
commit 9180601286
2 changed files with 3131 additions and 25 deletions

View File

@ -27,25 +27,27 @@ public class Piece {
//Constants used in the board representation
public static final int WHITE_PIECES = WHITE;
public static final int BLACK_PIECES = BLACK;
public static final int PAWN = 2;
public static final int WHITE_PAWN = PAWN + WHITE;
public static final int BLACK_PAWN = PAWN + BLACK;
public static final int KING = 4;
public static final int WHITE_KING = KING + WHITE;
public static final int BLACK_KING = KING + BLACK;
public static final int QUEEN = 6;
public static final int WHITE_QUEEN = QUEEN + WHITE;
public static final int BLACK_QUEEN = QUEEN + BLACK;
public static final int BISHOP = 8;
public static final int WHITE_BISHOP = BISHOP + WHITE;
public static final int BLACK_BISHOP = BISHOP + BLACK;
public static final int KNIGHT = 10;
public static final int WHITE_KNIGHT = KNIGHT + WHITE;
public static final int BLACK_KNIGHT = KNIGHT + BLACK;
public static final int ROOK = 12;
public static final int WHITE_ROOK = ROOK + WHITE;
public static final int BLACK_ROOK = ROOK + BLACK;
public static final int PAWN = 0;
public static final int WHITE_PAWN = 2*(PAWN+1) + WHITE;
public static final int BLACK_PAWN = 2*(PAWN+1) + BLACK;
public static final int QUEEN = 1;
public static final int WHITE_QUEEN = 2*(QUEEN+1) + WHITE;
public static final int BLACK_QUEEN = 2*(QUEEN+1) + BLACK;
public static final int KING = 2;
public static final int WHITE_KING = 2*(KING+1) + WHITE;
public static final int BLACK_KING = 2*(KING+1) + BLACK;
public static final int BISHOP = 3;
public static final int WHITE_BISHOP = 2*(BISHOP+1) + WHITE;
public static final int BLACK_BISHOP = 2*(BISHOP+1) + BLACK;
public static final int KNIGHT = 4;
public static final int WHITE_KNIGHT = 2*(KNIGHT+1) + WHITE;
public static final int BLACK_KNIGHT = 2*(KNIGHT+1) + BLACK;
public static final int ROOK = 5;
public static final int WHITE_ROOK = 2*(ROOK+1) + WHITE;
public static final int BLACK_ROOK = 2*(ROOK+1) + BLACK;
public static final int MAX_PIECE_NUMBER = BLACK_ROOK;
public static final int NB_OF_PIECES = ROOK + 1;
//Constants used for promotion (as used in the xboard protocol)
public static final char KING_CHAR='k';
@ -85,22 +87,22 @@ public class Piece {
pieceNumber = NONE;
switch (piece) {
case PAWN_CHAR:
pieceNumber = PAWN + color;
pieceNumber = 2*(PAWN+1) + color;
break;
case KING_CHAR:
pieceNumber = KING + color;
pieceNumber = 2*(KING+1) + color;
break;
case QUEEN_CHAR:
pieceNumber = QUEEN + color;
pieceNumber = 2*(QUEEN+1) + color;
break;
case BISHOP_CHAR:
pieceNumber = BISHOP + color;
pieceNumber = 2*(BISHOP+1) + color;
break;
case KNIGHT_CHAR:
pieceNumber = KNIGHT + color;
pieceNumber = 2*(KNIGHT+1) + color;
break;
case ROOK_CHAR:
pieceNumber = ROOK + color;
pieceNumber = 2*(ROOK+1) + color;
break;
}
}

3104
src/suicideChess/Rules.java Normal file

File diff suppressed because it is too large Load Diff