def collides(self,p): #if Geometry.intersec_seg(self,{'x':p}): #try: # if Geometry.intersect(self.x1,self.y1,self.x2,self.y2,p.x,p.y,p.old_x,p.old_y): # p.kill() #except ZeroDivisionError: # pass i = Geometry.intersect_seg(self.x1,self.y1,self.x2,self.y2,p.x,p.y,p.old_x,p.old_y) #if i is not None: p.kill() #if i is not None: p.engine.rem_part(p) if i is not None: if self.is_a_barrier: p.kill() else: #print "Mirror intersection!! ", p.id # ix,iy = i # p.x = ix # p.y = iy # p.x = p.old_x # p.y = p.old_y p.x = (i[0]*9+p.old_x)/10.0 p.y = (i[1]*9+p.old_y)/10.0 p.vx, p.vy = Geometry.reflect(self.x2-self.x1, self.y2-self.y1, p.vx, p.vy)