Прошу помочь понять что не так с моим кодом, пожалуйста. Ссылка на уровень
// Функция `maybeBuildTrap` определяет два параметра!
function maybeBuildTrap(x, y) {
// Используй координаты `x` и `y` для передвижения.
hero.moveXY(x, y);
var enemy = hero.findNearestEnemy();
if(enemy) {
// Используй `buildXY` для постройки огненной ловушки в нужных координатах.
hero.buildXY("fire-trap", x, y);
}
}
while(true) {
// Здесь вызывается `maybeBuildTrap` с координатами нижнего входа.
maybeBuildTrap(38, 20);
// Теперь вызови `maybeBuildTrap` для правого входа.
maybeBuildTrap(56, 35);
// Теперь вызови `maybeBuildTrap` для верхнего входа.
maybeBuildTrap(38, 42);
}
По факту герой идет и ставит ловушку на крестьянина, который не enemy, хотя все условия выполнены.
Добавление else не помогло.
Привет @adelkai, добро пожаловать на форум CodeCombat.
Проблема здесь в том, что вы используете функцию «MaybeBuildTrap (x, y)» в неправильных местах.
Первый раз должен быть верхним X, второй должен быть левым X, а третий должен быть нижним X. Если у вас возникли проблемы с поиском координат X, Y, вам нужно навести курсор мыши на X слева ручной экран.
Надеюсь, это поможет,
Danny
/ Hi @adelkai, welcome to the CodeCombat forum.
The problem here is that you are using the MaybeBuildTrap (x, y) function in the wrong places.
The first time should be the top X, the second should be the left X, and the third should be the bottom X. If you have problems finding the coordinates X, Y, you need to move the mouse cursor over X on the left hand screen.
Hope this helps,
Danny
Я думаю, проблема в том, что в функции mayBuildTrap(), в if enemy:, Вам нужно писать не координаты одной из точек, а просто x и y. Ведь в ней Вы не делаете ловушку на определённой точке. Вы их делаете это в цикле While True (в нём как раз нужно написать координаты точек в том порядке, в каком написано в комментариях-подсказках).