 
     intersection_with: (segment) ->
       if segment.orientation == @orientation
-        throw new Error('The segments must have different orientations')
+        console.error "Same orientation intersection check"
+        #throw new Error('The segments must have different orientations')
 
       intersection = fabric.Intersection.intersectLineLine(@startpoint, @endpoint, segment.startpoint, segment.endpoint)
       return [this, segment, intersection.points[0]] if intersection.status == "Intersection"

      last_wall = @most_recent_walls[player_no]
      if last_wall? and segment.orientation == last_wall.orientation
        last_wall.extend(segment)
      else
        if last_wall?
          last_wall.truncate(segment)
        @most_recent_walls[player_no] = segment


      walls_to_search = @walls[orientation_to_search]

      for wall2 in _.without(@most_recent_walls, segment, null)
        #console.log "Wall2: ", wall2
        if segment.orientation == wall2.orientation and segment.player != wall2.player
          if (segment.orientation == HORIZONTAL and segment.startpoint.y == wall2.startpoint.y)
            overlap = _.min([_.max([segment.startpoint.x, segment.endpoint.x]), _.max([wall2.startpoint.x, wall2.endpoint.x])]) - _.max([_.min([wall2.startpoint.x, wall2.endpoint.x]), _.min([segment.startpoint.x, segment.endpoint.x])])
          else if (segment.orientation == VERTICAL and segment.startpoint.x == wall2.startpoint.x)
            overlap = _.min([_.max([segment.startpoint.y, segment.endpoint.y]), _.max([wall2.startpoint.y, wall2.endpoint.y])]) - _.max([_.min([wall2.startpoint.y, wall2.endpoint.y]), _.min([segment.startpoint.y, segment.endpoint.y])])

          #console.log "Overlap: ", overlap
          if overlap > 0
            collisions.push([segment, wall2, overlap])
            collisions.push([wall2, segment, overlap])
            console.log "Collisionsa: ", segment, wall2

      for wall in walls_to_search
        continue if wall.endpoint.x == segment.player.lastPos().x and wall.endpoint.y == segment.player.lastPos().y
