Баг в уровне "Питомец инженер (Pet engineer)" (JS)


#1

Изначально дан код:

Summary
// Перемести питомца на левую или правую кнопку по необходимости.

function onHear(event) {
    // Найди стражей, которых надо слушать.
    var archer = pet.findNearestByType("archer");
    var soldier = pet.findNearestByType("soldier");
    // Если `event.speaker` лучник:
    
        // Двигайся на левую кнопку.
        
    // Если `event.speaker` солдат:
    
        // Двигайся на правую кнопку.
        
}

pet.on("hear", onHear);

// Не нужно менять код ниже.
// Герой должен защитить проход внизу справа.
while(true) {
    var enemy = hero.findNearestEnemy();
    if (enemy) {
        hero.attack(enemy);
    }
}

Однако код в цикле while приходится менять, если на герое сумеречные очки, которые позволяют видеть сквозь стены. Иначе герой начинает бегать по всей локе, отлавливая огров, пока за его спиной безнаказанно режут крестьян.


#2

Это странно, мой код находится на питоне (но я не думаю, что это повлияло бы на этот уровень), и мне не нужно ничего менять, и у меня тоже есть очки сумерек, может быть, если у вас есть сумерки очков для этого уровня вам нужен волшебник или рейнджер?

код

07

надеюсь это поможет! :grin:


#3

Ну если используете очки которые позволяют видеть сквозь стены, то это не баг. Мы ограничиваем очки на ранних уровнях разве что, но в целом стараемся этого не делать. Если хотите использовать самый топовый эквип - пожалуйста. Но если вы используете топовый эквип, то надо им уметь пользоваться. Тоже самое например насчет рейнжеров и волшебников.
Это все таки игра :slight_smile:


#4

Проблема решается введением всего лишь еще одного условия, так что это никак не напрягает)

Я просто хотел обратить внимание на возможный недочет в логике игры)