Крестоносец Келвинтафа — прохождение и описание алгоритма

Квест с крестоносцем (Kelvintaph Crusader) доставил мне массу удовольствия. Здесь пришлось действительно подумать и разложить весь поединок по полочкам, перед тем как мне удалось написать программу.

http://codecombat.com/play/level/kelvintaph-crusader

Вот как выглядит начальная сцена.

kelvintaph-crusader

В нижней части локации ваш герой должен одолеть отряд Brawler-ов, которых поддерживает батарея катапульт. Параллельно с битвой внизу необходимо отдавать приказы элитному отряду ваших союзников в верхней части лабиринта, чтобы те сумели одолеть ведьму и её приспешников.

Основной задачей является выжить самому и сохранить живым паладина. А особый бонус предлагается за сохранение всего отряда.

Задачу со своим персонажем я решил быстро. А вот паладина мне сохранить не удавалось, пока я не вспомнил обо всех способностях, которыми он обладает. Кроме лечения, он может ещё прикрываться щитом. Когда я это учел и разработал порядок действий для каждого члена отряда, задача была решена.

Схватка с отрядом Brawler-ов.

Здесь нужно было использовать катапульты. Они при удачном попадании уничтожают сразу весь отряд пехоты противника. Дальше остаётся разломать катапульты и встать на «крестик». Когда ваш герой достигает выхода, открывается ледяная дверца в верхней части лабиринта.

Чтобы попадание было удачным нужно вовремя отбежать от летящих ядер. Позиции ядер можно получить из общего массива выпущенных снарядов:

Если ядра высоко — то отбегать не нужно, для этого проверяем координату z.

Есть один нюанс в управлении главным персонажем. Если ему отдать команду attack, управление не будет передано в программу, пока герой не выполнит команду. Тем временем ваши союзники могут простаивать, ожидая указаний. Чтобы справиться с данной проблемой, я использую функцию heroAttack(enemy) — см текст программы.

Схватка союзников.

Сценарий действий союзников, описан в специальном массиве tar, в котором каждый из них получил список приоритетных целей. Кроме имен врагов, в списке встречаются команды — shield и move.

Вся работа по сценарию осуществляется в функции comm().

Первостепенной задачей было уничтожить ведьму Yzzrith, поэтому лучники и паладин сразу атакуют её. Два воина тем временем сдерживают огров. После гибели чародейки, паладин закрывается щитом, а лучники фокусируют свой огонь сначала на ограх, потом на скелетах.

Уничтожив всех врагов, отряд перемещается к выходу в обход капкана.

Текст программы.

Я использую javascript.

К слову надо сказать, что один из воинов у меня дохнет, совсем чуть-чуть не успевая получить лечение от паладина. Так что сценарий нуждается в небольшой коррекции.

Написать комментарий

Мало букафф? Читайте есчо !

Развитие навыков программирования у ребенка

Февраль 10, 2016 г.

Каждый родитель думает : кем же станет его ребенок? Дети способны постигать азы тех или иных наук с очень раннего возраста. Они как губка впитают все ...

Читать

Лес темнодрев - Сокровища Темнолесья - Code Combat

Февраль 13, 2016 г.

Продолжаю рубиться в CodeCombat. Хочу поделиться кодом и размышлениями как прорубиться в Сокровищнице Темнолесья. Я подсобрал почти все топовые ...

Читать

 

Комментарии к «Крестоносец Келвинтафа — прохождение и описание алгоритма»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: