def unblocked(origin, square_set)
      select { |destination| square_set.between(origin, destination).all?(&:unoccupied?) }
    end
def unblocked(origin, square_set)
      select { |destination| square_set.between(origin, destination).all?(&:unoccupied?) }
    end
Returns destination from the origin that have a clear path

 @param [Square] origin
   the originating square.

 @param [SquareSet] square_set
   the board position.

 @return [SquareSet]