Play Home Contribute Github Join Us! Discourse Staff Members Github Contribution Guides Team

[РЕШИТЬ] Оглуши их всех! Помогите пройти уровень

Добрый день.
Не получается пройти уровень.
Один раз ударив врага щитом, герой подходит второй раз и оказывается слишком близко к эпицентру взрыва и погибает.

Вот код:
while True:
enemies = hero.findEnemies()
enemyIndex = 0

while enemyIndex < len(enemies):
    enemy = enemies[enemyIndex]
    while enemy.health > 0:
        hero.bash(enemy)
    enemyIndex += 1
    hero.moveXY(40, 33)

items = hero.findItems()
itemIndex = 0

while itemIndex < len(items):
    item = items[itemIndex]
    while item:
        hero.moveXY(item.pos.x, item.pos.y)
    itemIndex += 1
    hero.moveXY(40, 33)

Привет @Samozvanec добро пожаловать на форум! :partying_face:

Попробуйте удалить строки, в которых нет ни одной строки кода изнутри кода. После того, как вы это сделаете, код завершит уровень?

Привет-привет @AnSeDra

К сожалению ничего не изменилось.
Герой с первого удара щитом не может столкнуть врага на мины и подходит к нему второй раз, со второго удара он сталкивает врага на мины, но оказывается в зоне поражения взрыва(

Если вы удалите врага while из строки 10, изменится ли конечный результат?

К сожалению, тоже ничего не изменилось(

Если убираю while из 10 строки, он все так же не может столкнуть первого врага на мины и он ходит за героем пока я не убиваю остальных врагов.
Герой умирает когда идет за самоцветом и погибает на минах вместе с первым врагом.

Попробуйте также удалить элемент while из строки 17. Работает ли он сейчас?

С последнего описания и скрина ничего не изменилось


Как называется уровень?

Оглуши их всех

Добавил метод dash в строке 11
Теперь герой убивает 1 и 2 врага, а 3 и 4 не долетают до мин.
Герой забирает 1 и 2 самоцветы и умирает от огров.

Попробуйте проверять и разбивать, только если вражеский индекс <2. Вам нужна дополнительная помощь на этом уровне?

Попробовал - не получилось. (если правильно понял)
Да помощь нужна

Не совсем. Попробуйте изменить цикл while так, как это было раньше, но поместите его после строки 9 и перед ударом:

if enemyIndex < 2:
    #здесь тире

Хорошо, попробую.
Спасибо за помощь!
Но сам решил уже другим способом (одел другие ботинки)

1 Like

Поздравляем с прохождением уровня! Но можете ли вы удалить картинку, потому что на этом форуме мы не публикуем решения, потому что другие люди могут использовать ваш код для обмана на уровне? Если последнее не сработает, я бы порекомендовал вам надеть несколько прыгающих ботинок.

1 Like

Да не вопрос, уже убрал, но про ботинки оставил информацию или ее тоже убрать?

1 Like

Это тоже попробовал, само собой не помогло)

Вы можете оставить эту информацию.