while True:
enemy = hero.findNearestEnemy()
# Используй выражение if
для проверки готовности способности “cleave”:
if self.isReady(“cleave”):
# Руби! (cleave)
self.cleave(enemy)
# Иначе, если cleave
не готова:
else:
# Атакуй ближайшего огра! - неправильный перевод
self.say(“I’m not ready to attack you!”) - противник не отбегает, смена героя не помогает
a.kardo32@gmail.com
Korben Dallas
Check if there is enemy:
if enemy:
if self.isReady("cleave"):
self.cleave(enemy)
else:
self.say("I'm not ready to attack you!")
else:
while True:
enemy = hero.findNearestEnemy()
# Используй выражение if
для проверки готовности способности “cleave”:
if enemy:
if self.isReady(“cleave”):
hero.cleave(enemy)
else:
hero.say(“I’m not ready to attack you!”)
НЕ РАБОТАЕТ!!!
Не понял почему перевод не верный? Написано - Атакуй ближайшего огра - вы вместо этого используете say
. Естественно что не проходит решение.
Вы проходили этот уровень? Там нужно произносить любую фразу, что бы противники, пока их мало, не атаковали, а как только их становиться много, уже готово умение cleave которое и применяется. Это написано в советах и прохождении миссии на любом сайте, У меня, каким персонажем не пробуй не отгоняется противник.
Проходил все и многие сделал Прочитайте еще раз комментарии в коде - это инструкции. там написано - “атакуйте”. Вместо этого вы пытаетесь использовать готовое решение не понимая как оно работает. Перевод введения для уровня по всей видимости старый. Также и те прохождения что вы пытаетесь использовать. Уровень был изменен пару месяцов назад (если не изменяет память). Использовать решения готовые - это как играть квест с прохождением
Если есть щит со способностью “bash” - добавьте баш, а также атаку мечом во время кулдауна способности “cleave”. И любые другие доступные атаки и защиты)
З.Ы. А одиночные манчкины действительно не отбегают из-за болтовни героя. Вот вражины)
Не понял что вы предлагаете. Инструкции для уровня расчитаны на определенную экипирвку которая обязательна. Но если есть желание использовать другие способности - то без проблем.
О, пардон. Это я дал подсказки по тактике автору топика, alex’у.
Дело в том, что он прав, код вида
loop:
enemy = hero.findNearest(hero.findEnemies())
if enemy and hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.say("Ыщьуерштп!")
который, насколько я понимаю, соответствует написанным инструкциям, не позволяет пройти уровень - если герой остаётся жив к 39.9 секунде, то уровень выдаёт “Goals: ran out of time”.
При этом одиночные враги действительно не реагируют на фразы героя, что противоречит описанию:
These Munchkins are scared of the hero!
Say something and they’ll back off.
Сначала я добавил обычный удар мечом, “bash” и “chain-lightning”, и уровень получилось пройти.
Но сейчас покопался более детально, и оказалось, что ошибся: добавление любой атаки, кроме обычной атаки мечом, неэффективно. Т.е. пройти уровень можно только с применением “cleave” и обычной атакой при перезарядке “cleave”. Так что, видимо, при изменении уровня действительно забыли поменять описание (во всяком случае, в англоязычной версии).
Описание старое - есть такое, я добавил тикет про это (может сам и поправлю позже). Другие атаки не очень эффективны так как имеют большой кулдаун и только ими не обойтись. Манчкинам хватает одного удара мечом - так что баш тут не особо полезен, а вот молния вполне поможет в добавку к атакам. Но мы говорим про начальный лесной уровень - а перчатки императора это из раздела топовой экипировки (использование топовой экипировки требует от игроков больше знаний)
Угу, кулдаун у других атак сводит их эффективность на данном уровне к нулю. То есть даже связка “cleave” + “bash” + “chain-lightning” не даёт результата) Только “cleave” + “attack”.
while(true) {
var enemy = hero.findNearestEnemy();
if (hero.isReady(“cleave”)) {
// Руби врагов!
hero.cleave(enemy);
}
else {
// Иначе (если cleave
не готов) просто атакуй.
hero.attack(enemy);
}
}
Не могу понять,что я тут не так делаю?
while True:
enemy = hero.findNearestEnemy()
# Используй if с isReady, чтобы проверить “cleave”.
if enemy:
hero.isReady(“cleave”)
# Руби! (cleave)
hero.cleave(enemy)
# Если cleave еще не готова:
else:
hero.attack(enemy)
# Атакуй ближайшего огра!
hero.attack(enemy)
СДЕЛАЛ!! Все верно
вот правильный код:
while True:
enemy = hero.findNearestEnemy()
if enemy:
if hero.isReady(“cleave”):
hero.cleave(enemy)
else:
hero.attack(enemy)
Continuing the discussion from Не работает уровень Бэквудское противостояние:
# Манчкины атакуют!
# Враги периодически атакуют группами.
# Если можешь, используй cleave, чтобы уничтожить толпу врагов.
while True:
enemy = hero.findNearestEnemy()
# Используй if с isReady, чтобы проверить "cleave":
if enemy:
ready = hero.isReady("cleave")
# Руби! (cleave)
hero.cleave(enemy)
# Если cleave еще не готова:
else:
# Атакуй ближайшего огра!
hero.attack(enemy)
дело в том что код почемуто не выполняет команды елсе
Добро пожаловать на Форум!
Здесь нужно проверить если cleave готов (для действия cleave есть перезарядка):
if enemy:
ready = hero.isReady("cleave")
if ready:
# Руби! (cleave)
hero.cleave(enemy)
спасибо, получилось!
Не за что, обращайтесь)