import java.awt.*; public class ChessSet { public final static int NUMPIECES = 32; private ChessPiece [] pieces; public ChessSet (Image [] pieceImages, Component l) { int color, type; pieces = new ChessPiece [NUMPIECES]; for (int i = 0; i < NUMPIECES; i ++) { if (i / 16 == 0) { color = ChessPiece.WHITE; } else { color = ChessPiece.BLACK; } switch (i) { case 0: case 7: case 24: case 31: type = ChessPiece.ROOK; break; case 1: case 6: case 25: case 30: type = ChessPiece.KNIGHT; break; case 2: case 5: case 26: case 29: type = ChessPiece.BISHOP; break; case 3: case 27: type = ChessPiece.KING; break; case 4: case 28: type = ChessPiece.QUEEN; break; default: type = ChessPiece.PAWN; } Image im = pieceImages [color*6 + type]; switch (type) { case ChessPiece.ROOK: pieces [i] = new Rook (color, im, l); break; case ChessPiece.KNIGHT: pieces [i] = new Knight (color, im, l); break; case ChessPiece.BISHOP: pieces [i] = new Bishop (color, im, l); break; case ChessPiece.QUEEN: pieces [i] = new Queen (color, im, l); break; case ChessPiece.KING: pieces [i] = new King (color, im, l); break; default: pieces [i] = new Pawn (color, im, l); } } } public ChessPiece getPiece (int num) { return pieces [num]; } public void newGame () { for (int i = 0; i < NUMPIECES; i ++) { pieces [i].setMoved (false); } } }