1 турнир habrawars — 2 место — описание стратегии

    2 место из 67 — это же не плохо? Предлагаю описание моей стратегии

    1) Уворачивание от снарядов — похоже на стандартное, но никакого вращения (все равно некогда) + не всегда идет ускорение. На малых расстояниях это только потеря энергии

    2) Пытаемся понять, кто нас атакует по полету снарядов. Единичную атаку можем проинтерпритировать как случайную (стреляли не в нас, а в соседнего)

    3) Выявляем угрозы (продолжает атаковать, не удается сбежать)

    4) Если врагов больше трех или три, но у них много здоровья, а угроз нет, пытаемся сваливать. Стратегия максимального удаления, но не зарываться в углы.

    5) Если есть угроза, от которой не удается убежать, начинаем его атаковать. Если энергия есть, стреляем. Возможность его ускорения оцениваем по его энергии. (к сожалению, не учитывал врагов, которые стоят на месте, из-за этого и не первое место). Нет энергии — пытаемся «зайти за спину» врага

    6) Нет угрозы, два врага или три, но у одного мало энергии — атакуем самого толстого.

    Надеюсь, кому-нибудь это пригодится. На второй турнир буду готовить адаптивную стратегию.

    Комментарии 3

      0
      Спасибо, интересно :) А что насчёт движения и прицеливания?
        +3
        а) режим свободного парения — удаление от ближайшего врага с коррекцией на неутыкание в углы, скорость так чтобы держать энергию на 90
        б) бегство (пытаемся избежать угрозы) — аналогично, но бегаем от угрозы
        в) бой (есть энергия) — на врага, двигаемся медленно, на малых расстояниях вообще останавливаемся
        г) бой (нет энергии) — пытаемся зайти «за спину», скорость 0.5, угол отклонения — чем ближе до врага, тем больше
          0
          Спасибо, интересная система :) Я только просчитал что вращаться вокруг робота можно на расстоянии где то в 53 пикселя (чтобы он не успевал за тобой поворачиваться), но применить не успел.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое