Приманивай и меняй

Помогите пройти уровень. Мне кажется мешает какая то мелочь. Герой берет только одну монету и останавливается.

Замани огров в ловушки приманками.

Функция позволяет герою собрать достаточно золота.

def collectUntil(enoughGold):
# Пока золота (hero.gold) меньше чем достаточно (enoughGold):
coin = hero.findNearestItem()
while hero.gold < 100:
# Найди монету и возьми её:
hero.moveXY(coin.pos.x, coin.pos.y)
pass

Собери достаточно золота для одной приманки и построй её на красной отметке.

collectUntil(25)
hero.buildXY(“decoy”, 40, 52)

Лучше спрятаться.

hero.moveXY(20, 52)

Используй функцию collectUntil, чтобы насобирать 50 золота:

collectUntil(50)

Построй приманку “decoy” на костяной метке:

hero.buildXY(“decoy”, 68, 22)
hero.moveXY(68, 45)

Построй приманку “decoy” на деревянной метке:

hero.buildXY(“decoy”, 30, 20)
hero.moveXY(47, 24)

Поменяй эти линии.

Поменяйте “100” на “enoughGold”.

Дженни

Swap these lines.

Change the ‘100’ to ‘enoughGold’.

Jenny

Так стало еще хуже.```

Замани огров в ловушки приманками.

Функция позволяет герою собрать достаточно золота.

def collectUntil(enoughGold):
# Пока золота (hero.gold) меньше чем достаточно (enoughGold):
while hero.gold < enoughGold:
coin = hero.findNearestItem()
# Найди монету и возьми её:
hero.moveXY(coin.pos.x, coin.pos.y)
pass

Собери достаточно золота для одной приманки и построй её на красной отметке.

collectUntil(25)
hero.buildXY(“decoy”, 40, 52)

Лучше спрятаться.

hero.moveXY(20, 52)

Используй функцию collectUntil, чтобы насобирать 50 золота:

collectUntil(50)

Построй приманку “decoy” на костяной метке:

hero.buildXY(“decoy”, 68, 22)
hero.moveXY(68, 45)

Построй приманку “decoy” на деревянной метке:

hero.buildXY(“decoy”, 30, 20)
hero.moveXY(47, 24)

Пожалуйста, отформатируйте свой код.

лоооооооооооооо8
этот код верный!

если что язык Python

спасибо большое, ноя ее уже решил самостоятельно. Сейчас не могу пройти задачу Пастух саверна. Помогите понять что не так?

https://codecombat.com/play/level/sarven-shepherd?

# Используй цикл `while`, чтобы выбрать огра

while True:
    enemies = hero.findEnemies()
    enemyIndex = 0

    # Расположи это в цикле `while`, чтобы атаковать всех врагов.
    # Найди длину массива: len(enemies)
while enemyIndex < 0:
    enemy = enemies[enemyIndex]
    # "!=" значит  "не равно".
    if enemy.type != "sand-yak":
        # Пока здоровье врага больше 0, атакуй!
        while enemy.Healt > 0:
            if hero.isReady("cleave"):
                hero.cleave(enemy)
            else:
                hero.attack(enemy)
    enemyIndex += 1            
    pass
    
    # В перерывах между волнами возвращайся в центр.
    hero.moveXY(40, 32)
     

Пожалуйста, не выкладывайте полные решения для уровней, это противоречит правилам Форума.

Удалите, пожалуйста скриншот с верным кодом.

14-ая строка. Не while а if!

Но если решение верное, то почему у меня не работает код?

Этого я не знаю…

Как мне быть? Как дальше изучать?

Ну думаю не надо смотреть на чужой код, а писать свой. Так что выложите, пожалуйста свой код. И кстати, к какому уровню, к “приманивай и меняй” или к “пастух сарвена”?

Так это я писал по своему код. (пастух саверна) Но почему то не работает, хотелось бы разобраться. Если ошибка то где она, если глюк, то как исправить? Как быть то?

Весь код должен быть в цикле ‘while True’. Так что все они должны двигаться:

All the code needs to be in the ‘while True’ loop. So all of these need moving.

Подвинул и все равно не работает. До того как подвинуть, герой случайно натыкался на яка и все нарушалось.

Можешь разместить свой новый код.

Can you post your new code.

Jenny