def main(): av = 0 for i in xrange(20000): st_time = time.clock() pp.check_collision(a, b) av += time.clock() - st_time print "time:", av, pp.check_collision(a, b)
def _detect_ball_collision(self): for i in range(len(self.ball_list)): for j in range (i+1,len(self.ball_list)): if pp.check_collision(self.ball_list[i], self.ball_list[j]): # if self.ball_list[i].boundary.colliderect(self.ball_list[j].boundary): # reverse direction if not self.ball_list[i].colliding_with(self.ball_list[j]): self._resolve_collision(self.ball_list[i], self.ball_list[j]) self.ball_list[i].set_colliding_with(self.ball_list[j]) self.ball_list[j].set_colliding_with(self.ball_list[i]) else: if self.ball_list[i].colliding_with(self.ball_list[j]): self.ball_list[i].set_not_colliding_with(self.ball_list[j]) self.ball_list[j].set_not_colliding_with(self.ball_list[i])
def _detect_line_collision(self, lines): for ball in self.ball_list: for line in lines: if pp.check_collision(ball, line): if not ball.colliding: self.em[LineCollision].fire() ball.reverse() ball.set_colliding_with(line) ball.set_colliding(True) if ball.colliding: if not ball.colliding_with(line): ball.set_colliding_with(line) else: if ball.colliding_with(line): ball.set_not_colliding_with(line)