

- public abstract class Piece {
- protected PieceColor m_color;
- protected PiecePos m_pos;
-
- public Piece(PieceColor color ,PiecePos pos){
- m_color = color;
- m_pos = pos;
- }
-
- public abstract void draw() ;
- }
- public class WhitePiece extends Piece{
- public WhitePiece(PieceColor color ,PiecePos pos){
- super(color , pos);
- }
-
- @Override
- public void draw() {
- System.out.println("draw a whitePiece ! ");
- }
- }
- public class BlackPiece extends Piece {
- public BlackPiece(PieceColor color , PiecePos pos){
- super(color,pos);
- }
-
- @Override
- public void draw() {
- System.out.println("draw a blackPiece !");
- }
- }
- public enum PieceColor {
- BLACK,
- WHITE
- }
- public class PieceBoard {
- private static final ArrayList
m_arrayPiece = new ArrayList<>(); -
- private String m_blackName;
- private String m_whiteName;
-
- public PieceBoard(String black , String white){
- m_blackName = black;
- m_whiteName = white;
- }
-
- public void SetPiece(PieceColor color ,PiecePos pos){
- Piece piece = null;
- if(color == PieceColor.BLACK){
- piece = new BlackPiece(color, pos);
- System.out.println(m_blackName + "在位置(" +
- pos.getX() + ","+pos.getY() + ")");
- piece.draw();
- }else {
- piece = new WhitePiece(color, pos);
- System.out.println(m_whiteName + "在位置(" +
- pos.getX() + "," +pos.getY() +")");
- piece.draw();
- }
- m_arrayPiece.add(piece);
- }
-
-
- public static void main(String[] args) {
- PieceBoard board = new PieceBoard("Black Player", "White Player");
- PiecePos pos = new PiecePos(3, 4);
- board.SetPiece(PieceColor.BLACK, pos);
- }
- }
