public abstract class Piece {
private String pieceColor;
public Piece() {
}
public String getPieceColor() {
return pieceColor;
}
// boolean isOppositeColor()
abstract public String getName();
abstract public boolean isRoadOk(Board board, String from, String to);
}
King, Queen, Bishop, Knight, Rook, Pawn 都继承一下Piece
public class Board {
private Square[][] squares = new Square[8][8];
public Board() {
//set the 32 pieces
}
public Square[][] getSquares() {
return squares;
}
public Square getSquare(String squareName) {
}
// rook, queen
public Square[] getSquaresHorizontal(String squareName1, String
squareName2) {
}
// rook, queen, pawn
public Square[] getSquaresVertical(String squareName1, String
squareName2) {
}
// bishop, queen
public Square[] getSquaresDiagonal(String squareName1, String
squareName2) {
}
public boolean isKnightMove(String squareName1, String squareName2) {
}
public String[] knightMoves(char letter, int number) {
}
public boolean isNextSqare(String squareName1, String squareName2) {
}
}
public class Square {
private Piece piece;
private String name; // A1, C2,...
public Square(String name) {
this.name = name;
}
public void setPiece(Piece piece) {
this.piece = piece;
}
public Piece getPiece() {
return piece;
}
public String getName() {
return name;
}
public boolean isEmpty() {
if (this.getPiece() == null)
return true;
else
return false;
}
public String toString() {
return getName();
}
}
在就是玩家了,弄一个基类,再把human 和AI继承一下