Хорошо, ты должен вернуть расстояние до монеты. Сначала вы находите расстояние до монеты с помощью hero.distanceTo(coin)
и определяете его как переменную дистанцию. Затем, сделайте if distance > 0: #вставить сюда возврат hero.say(distance)
наконец, в цикле while true
запустите coinDistance()
.
Что то с этим уровнем мне тяжело. Первый раз испытываю такие трудности. Я опять делаю что то не правильно.
Артиллерия использует монеты в качестве цели.
Ты будешь дальномером для артиллерии.
Напиши функцию.
def coinDistance():
# Найди ближайшую монету.
coin = hero.findNearestItem()
hero.distanceTo(coin)
if distance > 0:
hero.say(distance)
# Если видишь монету, верни расстояние до неё.
# В противном случае верни 0.
else:
return 0
pass
while True:
distance = coinDistance()
if distance > 0:
# Сообщи расстояние.
coinDistance()
pass
In the while true loop, you do not need anything except coinDistance()
В то время как истинный цикл, вам ничего не нужно, кроме как coinDistance()
Но так не будет работать. так нельзя писать.
Артиллерия использует монеты в качестве цели.
Ты будешь дальномером для артиллерии.
Напиши функцию.
def coinDistance():
# Найди ближайшую монету.
coin = hero.findNearestItem()
hero.distanceTo(coin)
if distance > 0:
hero.say(distance)
# Если видишь монету, верни расстояние до неё.
# В противном случае верни 0.
else:
return 0
pass
while True:
# Сообщи расстояние.
coinDistance()
pass
Пожалуйста, правильно отступите ваш код с помощью тройной обратной связи `.
Привет, тоже завис на этом уровне, но пройти удалось. Вот пишу на JS,но думаю разберешься
function coinDistance() {
// Найди ближайшую монету.
var coin = hero.findNearestItem();
// Если видишь монету, верни расстояние до неё.
if(coin) {return hero.distanceTo(coin);}
// В противном случае верни 0.
else {return 0;}
}
while (true) {
var distance = coinDistance();
if (distance > 0) {
// Сообщи расстояние.
hero.say(distance);
}
}
Привет и добро пожаловать на дискурс codecombat! Это уютный форум, где вы можете поделиться идеями, поделиться фан-артом, получить помощь в написании кода и т. Д.! Прежде чем продолжить, мы надеемся, что вы ознакомитесь с [этой темой] (Welcome to CodeCombat Discourse Forums!), в которой показаны все основные сведения об этой доске! Благодарность!
Здравствуйте, я не хочу, чтобы я мог помочь, но у меня нет кода боевой премии
Вот вроде бы близок к решению. Даже по монетам стреляет, но не по всем. Чувствуется что осталось доработать какую то мелочь.
Артиллерия использует монеты в качестве цели.
Ты будешь дальномером для артиллерии.
Напиши функцию.
def coinDistance():
# Найди ближайшую монету.
coin = hero.findNearestEnemy(coin)
# Если видишь монету, верни расстояние до неё.
if coin:
return hero.distanceTo(coin)
# В противном случае верни 0.
else :
return 0
pass
while True:
distance = coinDistance()
if distance > 0:
# Сообщи расстояние.
hero.say(distance)
pass
Все я решил. 7 строка ошибка была. вместо врага нужно было дописать предмет. Спасибо. Буду теперь изучать код.
Теперь до меня дошло. Я решил задачу. Спасибо за подсказку, но я думал совсем в другом направлении. Да ту строку нужно было удалить. Вы были правы. и изменить True. Все решение было на поверхности, а я не видел.
Поздравляю с прохождением уровня!
Lydia
This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.