Добрый день, друзья. Параллельно с JavaRush играю в игру CodeCombat.
Застрял на одном из уровней и не могу найти ответ. Как определить функцию в своем коде??? Все ли верно в моем коде??? Или же это БАГ???
0
Комментарии (7)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Задача: 1.Остановите всех огров.
2.Спасите всех крестьян.
3.Определи функцию в своем коде.
// Манчкины наступают! Защити поселение!publicclassAI{// Определи собственную функцию, чтобы сразиться с врагом!publicstaticvarAttack(){// Внутри функции найди врага, затем руби или атакуй его.var enemy = hero.findNearestEnemy();if(enemy){if(hero.isReady("cleave")){
hero.cleave(enemy);}else{
hero.attack(enemy);}}}publicstaticvoidmain(String[] args){// Двигайся между патрульными точками и вызывай функцию.while(true){
hero.moveXY(35,34);// Используй функцию `cleaveOrAttack`, которая определена выше.Attack();
hero.moveXY(47,27);// Повторно вызови функцию.Attack();
hero.moveXY(60,31);// Повторно вызови функцию.Attack();}}}
Эм... и что "3.Определи функцию в своем коде." это должно значить?
Какую функцию? Что она должна делать?
Но кстати, судя по комментариям в main ты как минимум не ту функцию для атаки используешь, по идее тебе нужна cleaveOrAttack(), если такой нет, может об этом и идёт речь, что тебе эту функцию нужно создать?
Очень не понятен метод Attack, во первых он называется не по конвенции, методы называются с маленькой буквы, во вторых, у него есть возвращаемый тип, но сам метод ничего не возвращает, это я про var если что
Дальше непонятная хрень - что такое var enemy? судя по тому, что ты ее используешь под if, это булево значение, но потом ты это же значение передаёшь в методы cleave и attack... они действительно принимают булево значение или это ты просто фигню написал?
1. Пиши нормально типы данных возле переменных, чтобы было понятно что в них хранится
2. именуй методы правильно
3. пользуйся возвратными типами грамотно, если метод не должен ничего возвращать есть специальное ключевое слово для этого - void
"Определите функцию в своем коде" в этом то и вопрос Как ее определить, и что я делаю не так??
cleaveOrAttack() - это изначально называлась так функция. Это я уже методом проб и ошибок пришел к названию Attack. Конвенцию еще не изучал я так сказать начинающий в этом деле. 🙄
Суть такая, я подошел к точке если у меня навык "cleave" заряжен я им бью, если нет то простой атакой и так далее у другой точке. Если врага нету я иду к следующей точке и так по кругу.
Скриншот очень плохонького качества, потому колупаться с ним не очень удобно. Возможно более хорошей идеей было бы приложить код текстом, с использованием тега code, и непосредственно условия задачи, сопроводив его картинкой.
Остановите всех огров.2.Спасите всех крестьян.3.Определи функцию в своем коде.