[SOLVED] Бэквудский лес. Смертельная погоня

# Собери все монеты и ставь ловушки на месте собранных флагов.
# Разберись с этими ограми.

while True:
    flag = hero.findFlag()
    item = hero.findNearestItem()
    if flag:
        hero.buildXY("fire-trap", x, y) 
        hero.pickUpFlag(flag)
    elif item:
        itemPos = item. pos
        itemX = itemPos.x
        itemY = itemPos.Y
        hero.moveXY(itemX, itemY)

Какие-то предупреждения, ошибки выдаёт?
И пробел опять ненужный появился после точки…

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

Да. пробел убрал. Это я пробую разные варианты - стираю опять пишу заново.

Я хотя бы на правильном пути?

  У меня уже давно существует техническая проблема написания кода. Например : если я пишу слово на английском, то после нажатия последней буквы слово автоматически меняется на русский  "hero" будет писаться "герой", если слова пишутся слитно , то так и остаются английские буквы - pickUpFlag .     Если скопировать код на форум, то он принимает нормальный вид и если код рабочий то уровень проходится. Если курсор ставишь на середину строки, что бы стереть ту или иную букву, то начинает стирать в другом месте. Приходится либо полностью стирать строку и писать ее заново, либо высчитывать математически где стереть.

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

 # Собери все монеты и ставь ловушки на месте собранных флагов.
# Разберись с этими ограми.

while True:
    flag = hero.findFlag()
    item = hero.findNearestItem()
    if flag:
        flagPos = flag.pos
        flagX = flagPos.x
        flagY = flagPos.Y
        hero.moveXY(flagX, flagY)
        hero.buildXY("fire-trap", x, y) 
        hero.pickUpFlag(flag)
    elif item:
        itemPos = item.pos
        itemX = itemPos.x
        itemY = itemPos.Y
        hero.moveXY(itemX, itemY)

должен быть

flagX = flag.pos.x

То же самое для "предмета

Jenny

Вы можете просто сделать это:

flagX = flag.pos.x
flagY = flag.pos.y

То же самое для этого:

но с flag измененным на item

Удалить это

x и y должны быть flagX и flagY

и добавьте под ним hero.pickUp (flag)

1 Like

Привет! Я изменил строки. Герой реагирует на флаг и монеты. Но если убрать строку hero.buildXY(“fire-trap”, x, y) То как герой поставит ловушку? Такая строка должна быть, но где? Без ловушки задание не будет выполнено.

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

Вы читали нижние строки?

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.