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