def opponent_protect_goal(self, env, goal_point): for h in shortcuts.opponent_field_hockeyists(env): distance = geometry.ray_point_distance( env.world.puck, geometry.diff(env.world.puck, goal_point), h ) if distance <= h.radius: return True return False
def puck_is_heading_to_unit(env, unit): if shortcuts.hockeyist_with_puck(env) is not None: return False speed_abs = geometry.vector_abs(env.world.puck.speed_x, env.world.puck.speed_y) if speed_abs < 10: return False return geometry.ray_point_distance( env.world.puck, geometry.Point( env.world.puck.speed_x, env.world.puck.speed_y ), unit) < 60