Play Home Contribute Github Join Us! Discourse Staff Members Github Contribution Guides Team

ГЛЮК В УРОВНЕ "Оленья побудка" и ''Кража яка ''


#1
# В этом массиве хранится статус каждого оленя.
deerStatus = [ 'asleep', 'asleep', 'asleep', 'asleep', 'asleep' ]

# А этот массив содержит самих оленей.
friends = hero.findFriends()

# Перебери всех оленей и найди проснувшихся:
for deerIndex in range(len(friends)):
    reindeer = friends[deerIndex]
    
    # Олень с позицией > 30 уже не в загоне.
    if reindeer.pos.y>30:
        # Если да, то выставь статус "awake".
        deerStatus[reindeer]="awake"
    else:
        deerStatus[reindeer]="asleep"
    pass

# Перебери статусы и сообщи Мереку.
for statusIndex in range(len(deerStatus)):
    # Скажи Мереку индекс оленя и его статус.
    # Скажи, например, "Reindeer 2 is asleep" ("Олень 2 проснулся").
    tryu=deerStatus[statusIndex]
    hero.say(tryu)
    pass

# Сенику нужна большая приманка для большого бурла!
# Помоги Сенику найти яка крупнее среднего!
# Не выбирай слишком глубоко в стаде, или разозлишь их.

# Эта функция должна вернуть средний размер всех яков:
def averageSize(yaks):
    sum = 0
    # Перебери всех яков и просуммируй их размеры.
    yaks=hero.findEnemies()
    for i in yaks:
        yak=yaks[i].size
        sum=sum+yak
    return sum / yaks.length

yaks = hero.findEnemies()
avgSize = averageSize(yaks)

bestYak = None
closestDist = 9999
for i in range(len(yaks)):
    yak = yaks[i]
    yakDistance = hero.distanceTo(yak)
    yakSize = yak.size
    # Проверь яка:
    # Расстояние меньше, чем текущее 'closestDist' и:
    # Размер больше, чем  'avgSize'.
    if yakDistance < closestDist and yakSize > avgSize:
        bestYak = yak
        # Обнови 'bestYak' и 'closestDist'
        closestDist=yakDistance
        

# Скажи `bestYak`:
hero.say(bestYak)```

```

Не могу понять я в чём-то ошибаюсь или это глюк на уровнях “Оленья побудка” и ''Кража яка ‘’
написано что на строке 352 выдаётся ошибка.


#2

Для первого уровня:
вам нужно изменить это:

For the first level:
you need to change this:

        # Если да, то выставь статус "awake".
        deerStatus[reindeer]="awake"
    else:
        deerStatus[reindeer]="asleep"
    pass

“reindeer” - это друг, а не то, что вы можете добавить в deerStatus.
Вы должны использовать то же, что вы использовали для добавления в ‘friends’.
“reindeer” is a friend, not something you can put in the of deerStatus.
You have to use the same thing that you used to put in the of “friends”.

Также, когда вы произносите имена северных оленей, вам нужно использовать как deerIndex, так и deerStatus. (Вы можете соединить deerIndex и deerStatus с + во время разговора, например,

Also when you are saying the names of the reindeer you need to use both the deerIndex and the deerStatus. (You can connect the deerIndex and the deerStatus with a + when you’re talking, e.g.

hero.say("number1 + number 2")

:lion: :lion: :lion:


#3

Всё сработоло, спасибо!


#4

Вы также исправили другой уровень? Если нет, я поставлю в названии решено.
Have you fixed the other level as well? If not I will put SOLVED in the title.