Пример #1
0
def someone_can_reach_me_after_ticks(env, ticks):
    opponent_hockeyists = shortcuts.opponent_field_hockeyists(env)
    for h in opponent_hockeyists:
        for t in range(ticks + 1):
            future_h = prediction.next_hockeyist_position(env, h, t)
            if shortcuts.hockeyist_can_strike_unit(env, future_h, env.me):
                return True
            if shortcuts.hockeyist_can_take_puck(env, future_h):
                return True
    return False
Пример #2
0
    def strike_condition(self, env):
        if env.me.swing_ticks >= env.game.max_effective_swing_ticks:
            return True

        if env.me.state == HockeyistState.SWINGING:
            next_puck = prediction.next_puck_position(env)
            next_me = prediction.next_hockeyist_position(env, env.me, 1)
            # HARDCODE
            next_me.swing_ticks = min(20, env.me.swing_ticks + 1)
            after_strike = assessments.puck_after_strike(env, hockeyist=next_me, puck=next_puck)
            if prediction.goalie_can_save_straight(env, puck=after_strike):
                return True

        return False