Без понятия,что я делаю не так.Кто решил эту проблему-пишите её решение:
Привет, можешь ли ты отформатировать свой код с помощью кнопки </>? Спасибо!
English
Hi, can you please format your code using the </> button? Thanks!
У меня нет такой кнопки на клавиатуре.Если ты про клавишу “Tab”,то да-она есть
def findMostHealth(enemies):
target = None
targetHealth = 0
enemyIndex = 0
while enemyIndex < len(enemies):
enemy = enemies[enemyIndex]
if enemy.health > targetHealth:
target = enemy
targetHealth = enemy.health
enemyIndex += 1
return target
def valueOverDistance(item):
return item.value / hero.distanceTo(item)
# Возврати предмет с наибольшим значением `valueOverDistance(item)`.
def findBestItem(items):
bestItem = None
bestValue = 0
itemsIndex = 0
# Перебери массив предметов.
# Найди предмет с наибольшим значением `valueOverDistance()`.
while itemsIndex<len(items):
item=items[itemsIndex]
if item.value>bestValue:
valueOverDistance()
return bestItem
while True:
enemies = hero.findEnemies()
enemy = findMostHealth(enemies)
if enemy and enemy.health > 15:
while enemy.health > 0:
hero.attack(enemy)
else:
coins = hero.findItems()
coin = None
coin = findBestItem(coins)
if coin:
hero.moveXY(coin.pos.x, coin.pos.y)
Слушай, ты не ставил пробелов между своим = и твоим < и >
English
Look, you haven’t put any spaces between your = and your < and >
Ты знаешь, что красный ящик говорит по-английски?
English
Do you know what the red box says in English?
It says that it can’t read “value”, because it’s not defined.
Я думаю проблема в item, а не в value. В той функции Вы не определили item. Нельзя возвращать то, чего Вы не определили.
Я давно не играл в CodeCombat, так что простите если я помогаю не правильно.
Вы должны вставить параметр для функции, когда вы вызываете ее внутри цикла while true
You have to insert a parameter for the function when you call it inside the while true loop
valueOverDistance(there has to be a parameter here) when calling it because you entered valueOverDistance(item)
valueOverDistance (здесь должен быть параметр) при его вызове, потому что вы ввели valueOverDistance (** item **)
item is not a global variable, you have to define it. Maybe you meant: coins
Ошибка появляется потому что Вы пишите item, а определяете coin.
Ваши советы я попробую прямо сейчас,а пока дайте совет,пожалуйста.Моя программа работает,но немного странно.Несмотря на успешное прохождение уровня,я хотел бы знать,где подправить программу?
с какой проблемой вы столкнулись?
Хоть я и прошёл этот уровень,но главный герой багует.Может вы сможете найди мои небольшие косяки в моём коде?
Как сделать так,чтобы герой заходил в разные телепорты ,а не в один каждый раз?
Скриншота два,чтобы видеть весь код
Я заметил, что ты никогда не покупаешь места вокруг своих знаков. Но, видимо, это работает для тебя, потому что ты прошел уровень
English
I noticed that you never buy spaces around your = signs. But apparently it works for you because you passed the level