001    package rules;
002    import core.Color;
003    import core.Piece;
004    
005    /**
006     * Queen piece.
007     */
008    public class Queen extends StraightPiece {
009            /**
010             * @see Piece
011             */
012        protected String getName(){ return "Q";}
013            /**
014             * @see Piece
015             */
016        public Queen(Color color, int lastMove){
017            super(color, lastMove, true, true);
018        }
019            /**
020             * @see Piece
021             */
022        protected StraightPiece constructor(Color color, int lastMove){
023            return new Queen(color, lastMove);
024        }
025            /**
026             * @see Piece
027             */
028        public String pieceString()
029            {
030                    return "queen";
031            }
032        public int hashCode() {
033            return 2*1 + (color == Color.WHITE ? 0 : 1);
034        }
035    }