package com.editev.chess.piece; /** A Queen has no specific rules attached to it, just a list of moves. * * @see See the source here. */ public class Queen extends Piece { /** An array of all the possible Queen moves as byte offsets. */ public static final byte[][] MOVES = { {-7, -7}, {0, -7}, {7, -7}, {-6, -6}, {0, -6}, {6, -6}, {-5, -5}, {0, -5}, {5, -5}, {-4, -4}, {0, -4}, {4, -4}, {-3, -3}, {0, -3}, {3, -3}, {-2, -2}, {0, -2}, {2, -2}, {-1, -1}, {0, -1}, {1, -1}, {-7, 0}, {-6, 0}, {-5, 0}, {-4, 0}, {-3, 0}, {-2, 0}, {-1, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}, {-1, 1}, {0, 1}, {1, 1}, {-2, 2}, {0, 2}, {2, 2}, {-3, 3}, {0, 3}, {3, 3}, {-4, 4}, {0, 4}, {4, 4}, {-5, 5}, {0, 5}, {5, 5}, {-6, 6}, {0, 6}, {6, 6}, {-7, 7}, {0, 7}, {7, 7}, }; /** This class is a singleton, so the constructor is private. */ private Queen() { super( MOVES ); } /** The unique/singleton instantiation of Queen. */ public static final Queen PIECE = new Queen(); }