[SOLVED] Дела подпольные. Python


Привет. Никак не могу пройти. Подскажите пожалуйста

Я просто переместил питомца в определенные координаты вокруг экрана, а не использовал переменную item.

1 Like

Переместите своего питомца вокруг координат :sweat_smile:

Всем спасибо. Задача решена.

1 Like

Нет проблем, рад, что вы это поняли! :smiley:

# Собери 300 золотых и убеги из подземелья.

def onSpawn(event):
    pet.moveXY(20, 10)
    pet.moveXY(70, 10)
    pet.moveXY(70, 58)
    pet.moveXY(20, 58)
    pet.moveXY(20, 32)

pet.on("spawn", onSpawn)

coinMy = 0
while True:
    # Охраняй крестьян:
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)
    else:
        hero.moveXY(19, 35)
        coin = hero.findNearestItem()
        if coin and hero.distanceTo(coin) < 20:
            hero.moveXY(coin.pos.x, coin.pos.y)
            coinMy = 301
    # Когда соберёшь более 300 золотых, двигайся к красной отметке:
    if coinMy > 300:
        hero.moveXY(50, 34)

Приветствую. Рабочий код для прохождения уровней публиковать нельзя. Да и форматировать что-то из кода при его публикации лучше правильно)
В целом, советую почитать правила форума. Они вверху страницы находятся, “шапкой”.

Данный уровень получилось пройти только, так сказать, обманув программу, присвоив переменной число больше 300.
Не понял как можно было подсчитать собранные золотые.
Кто может подсказать, что мною не так было сделано?

Я не покупал подписку, поэтому не смогу протестировать код “вживую”, но попробуйте поменять эту часть

hero.moveXY(coin.pos.x, coin.pos.y)
            coinMy = 301

Переменная coinMy должна увеличиваться на 1 каждый раз, когда герой выполняет перемещение на местоположение монеты.

Этот уровень в подземелье или в лесу? Не могу найти на карте…

В этом задании подсчет монет ведется сам, что как раз и не понятно.
На табло показано, что собрано уже больше 300, хотя hero не собирал монет.
А как в проверку добавить эти уже подсчитанные монеты, не понятно. Если делать подсчет, как в других заданиях, то постоянно выдает ошибку.
И как раз только добавив этот код и получилось пройти:

hero.moveXY(coin.pos.x, coin.pos.y)
            coinMy = 301

Уровень я нашёл.
Насчёт переменной я не совсем прав.

Можно скриншот уровня?

Разобрался, как проверить собранное золото.

    if hero.gold > 300:
2 Likes