def identify_ball_collisions(self, balls):
     index_combo_list = list(itertools.combinations(range(0, len(balls)), 2))
     for i, j in index_combo_list:
         A, B = balls[i], balls[j]
         if calculations.ball_collision(A, B):
             self.append_ball_collision(A, B)
     return None
 def handle_ball_collisions(self, balls):
     index_combo_list = list(itertools.combinations(range(0, len(balls)), 2))
     for i, j in index_combo_list:
         A, B = balls[i], balls[j]
         Av, Bv = A.velocity, B.velocity
         if calculations.ball_collision(A, B):
             Av, Bv = calculations.new_velocity(A, B)
             self.append_ball_collision(A, B)
         A.velocity, B.velocity = Av, Bv
         balls[i], balls[j] = A, B
     return balls