Пример #1
0
 def update_cue_displacement(self, mouse_pos, initial_mouse_dist):
     displacement = physics.point_distance(mouse_pos, self.target_ball.all.pos) - initial_mouse_dist + config.ball_radius
     if displacement > config.cue_max_displacement:
         self.displacement = config.cue_max_displacement
     elif displacement < config.ball_radius:
         self.displacement = config.ball_radius
     else:
         self.displacement = displacement
Пример #2
0
    def cue_is_active(self, game_state, events):
        initial_mouse_pos = events["mouse_pos"]
        initial_mouse_dist = physics.point_distance(initialinitial_mouse_pos, self.target_ball.ball.pos)
        while events["clicked"]:
            events = event.events()
            self.update_cue(game_state,initial_mouse_dist, events)
        self.draw_lines(game_state, self.target_ball, self.angle+math.pi, config.table_color)

        if self.displacement > config.ball_radius + config.cue_safe_displacement:
            self.ball_hit()
Пример #3
0
    def cue_is_active(self, game_state, events, pos):
        initial_mouse_pos = events["mouse_pos"]
        initial_mouse_dist = physics.point_distance(initial_mouse_pos,
                                                    self.target_ball.ball.pos)

        while events["clicked"]:
            events = event.events()
            self.update_cue(game_state, initial_mouse_dist, events)
        # undraw leftover aiming lines
        self.draw_lines(game_state, self.target_ball, self.angle + math.pi,
                        config.table_color)

        # if self.displacement > config.ball_radius+config.cue_safe_displacement:
        k = np.array([pos[0], pos[1]])
        self.ball_hit(k)