Помогите пройти уровень short-sighted Burl


#1

Помогите пройти уровень на питоне, не могу понять что мне нужно сделать что-бы завершить уровень


#2

Привет! Нужно только написать функцию, которая помогла бы герою после прибытия на красные метки поверить, есть предмет или нет. Если есть - взять его и сбежать на зелёную метку. Если нет - всё равно сбежать)
Цель - собрать 4 монетки.
В советах есть пример функции, да и в целом написанию функций посвящены предыдущие уровни.
Сам код в петле трогать не нужно. Разве что, если уверен что функция написана правильно, а герой не успевает заметить предмет - мне помогло сменить y-координаты красных меток с 56 на 58.
Удачи!)


#3

¡Gracias! No debería haber confiado en el comentario “no cambie este código”. No me di cuenta exactamente donde el Burl me estaba viendo, así que no he adivinado que cambiar el destino sería evitar su mirada.


#4

Это рабочий код.
Также для этого задания, рекомендую купить “размягченные кожаные ботинки” дающие + 2.5 к скорости.

def checkTakeRun(item):
if item:
hero.moveXY(item.pos.x, item.pos.y)
hero.moveXY(40, 12)

while True:
hero.moveXY(16, 56)
item = hero.findNearestItem()
checkTakeRun(item)
hero.moveXY(64, 56)
item = hero.findNearestItem()
checkTakeRun(item)


#5

Привет! Пишу на Lua. Пол дня мучался и только так получилось:

local function checkTakeRun(item)
local item = hero:findNearest(hero:findItems())
if item then
hero:moveXY(item.pos.x, item.pos.y)
hero:moveXY(40,12)
end
end

while true do
hero:moveXY(16,56)
local item = hero:findItems()
checkTakeRun(item)
hero:moveXY(40,12)

hero:moveXY(64,56)
local item = hero:findItems()
checkTakeRun(item)
hero:moveXY(40,12)

end


#6

Тоже долго мучался, помогло только так
def checkTakeRun(item):
if item:
hero.move(x, y)
else:
hero.moveXY(40,13)
pass

Don’t change this code.

while True:
hero.moveXY(16, 58)
item = hero.findNearestItem()
checkTakeRun(item)
hero.moveXY(64, 58)
item = hero.findNearestItem()
checkTakeRun(item)