package chess import ( "mchess_server/types" ) type Queen struct { Color types.ChessColor } func (q Queen) GetAllAttackedSquares(board Board, fromSquare types.Coordinate) []types.Coordinate { return q.GetAllNonBlockedSquares(board, fromSquare) } func (q Queen) GetColor() types.ChessColor { return q.Color } func (q Queen) GetAllNonBlockedSquares(board Board, fromSquare types.Coordinate) []types.Coordinate { squares := board.GetNonBlockedRowAndColumn(fromSquare) squares = append(squares, board.GetNonBlockedDiagonals(fromSquare)...) return squares } func (q Queen) AfterMoveAction(board *Board, fromSquare types.Coordinate) {}