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")
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, my_buildings[0].id)) else: if my_buildings[0].creeps_count < 10: print( game_teams.my_her.exchange(enemy_buildings[0].id,