def warrior(game_map, game_params, game_teams): global start global ticks while True: state = State(input(), game_teams, game_params) my_buildings = state.my_buildings() my_squads = state.my_squads() # сортируем по остаточному пути my_squads.sort(key=lambda c: c.way.left, reverse=False) enemy_buildings = state.enemy_buildings() enemy_squads = state.enemy_squads() neutral_buildings = state.neutral_buildings() forges_buildings = state.forges_buildings() if state.ability_ready(AbilityType.Area_damage): cast_aoe(enemy_squads, enemy_buildings, game_map, game_teams) move_units(enemy_buildings, my_buildings, enemy_squads, game_map, game_teams) ticks += 1 print("end")
game = json.loads(input()) game_map = Map(game) # карта игрового мира game_params = Parameters(game) # параметры игры game_teams = Teams(game) # моя команда while True: try: """ Получение состояния игры """ state = State(input(), game_teams, game_params) my_buildings = state.my_buildings() my_squads = state.my_squads() # сортируем по остаточному пути my_squads.sort(key=lambda c: c.way.left, reverse=False) enemy_buildings = state.enemy_buildings() enemy_squads = state.enemy_squads() neutral_buildings = state.neutral_buildings() forges_buildings = state.forges_buildings() """ Играем за мага """ if game_teams.my_her.hero_type == HeroType.Mag: # проверяем доступность абилки Обмен башнями if state.ability_ready(AbilityType.Build_exchange): # если враг применил абилку обмен башнями build_exchange = state.enemy_active_abilities( AbilityType.Build_exchange) if len(build_exchange) > 0: print( game_teams.my_her.exchange(enemy_buildings[0].id,