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

**URL:** <https://discourse.codecombat.com/t/pet-engineer-js/14504>\
**Category:** русский (Russian)\
**Created:** [April 19, 2018, 6:45pm UTC](https://discourse.codecombat.com/t/pet-engineer-js/14504 "2018-04-19T18:45:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sir\_Abramstone](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/sir_abramstone/32/7937_2.png) [@sir\_Abramstone](https://discourse.codecombat.com/u/sir_Abramstone)\
**Post date:** [April 19, 2018, 6:45pm UTC](https://discourse.codecombat.com/t/pet-engineer-js/14504/1 "2018-04-19T18:45:23Z")

</div>

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

> **Summary**
>
> ```python
> // Перемести питомца на левую или правую кнопку по необходимости.
> 
> 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 _приходится_ менять, если на герое сумеречные очки, которые позволяют видеть сквозь стены. Иначе герой начинает бегать по всей локе, отлавливая огров, пока за его спиной безнаказанно режут крестьян.

---

<div class="post-metadata">

**Author:** ![Deadpool198](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/deadpool198/32/16753_2.png) [@Deadpool198](https://discourse.codecombat.com/u/Deadpool198)\
**Post date:** [April 20, 2018, 9:24am UTC](https://discourse.codecombat.com/t/pet-engineer-js/14504/2 "2018-04-20T09:24:11Z")

</div>

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

 ![22](https://us1.discourse-cdn.com/flex016/uploads/codecombat/original/2X/6/6bab622c057540113fc8cb515ab3de1fdc72e3dc.png)

> **код**
>
> ![07](https://us1.discourse-cdn.com/flex016/uploads/codecombat/original/2X/7/7762304dc4980b1dcd76033a073d5d35a6c572c0.png)

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

---

<div class="post-metadata">

**Author:** ![Bryukh](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/bryukh/32/19597_2.png) [@Bryukh](https://discourse.codecombat.com/u/Bryukh)\
**Post date:** [April 20, 2018, 9:33am UTC](https://discourse.codecombat.com/t/pet-engineer-js/14504/3 "2018-04-20T09:33:41Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![sir\_Abramstone](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/sir_abramstone/32/7937_2.png) [@sir\_Abramstone](https://discourse.codecombat.com/u/sir_Abramstone)\
**Post date:** [April 20, 2018, 11:44am UTC](https://discourse.codecombat.com/t/pet-engineer-js/14504/4 "2018-04-20T11:44:06Z")

</div>

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

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