Игра змейка (14/20)

  • 3
  • Недоступна
Сейчас змейка может ходить сквозь свое тело, а это не по правилам. Чтобы это исправить, нужно проверять новосозданную голову змейки на совпадение со всеми остальными элементами её тела. Для этого в классе Snake создай метод checkCollision(GameObject). Метод checkCollision(GameObject) должен возвращ
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (14)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Никита Никитенко Сыч в Сычевальне
4 декабря 2020, 21:33
"Если вызов метода checkCollision(GameObject) вернул true, содержимое списка snakeParts не должно изменяться." Если тебя замучил валидатор и эту фразу ты уже выучил наизусть - I know that feel bro!
Никита Никитенко Сыч в Сычевальне
4 декабря 2020, 21:34
Псс! перенеси строчку
if (!(head.x == apple.x && head.y == apple.y)) {removeTail();}
в самый конец метода.
Михаил Клименко 19 уровень, Краснодар Expert
18 июля 2020, 16:27
Всего эту задачу решили 1357 учеников. Змейка все еще отказывается слушаться команд, интересно, на каком шаге я ее приручу :)
Verhun Kyrylo 27 уровень
9 октября 2020, 09:50
У меня была проблема с отрисовкой, переделал 11-13 этамы и все ок. Отрисовывается и управляется, только теперь другая проблема, при поедании яблока змейка не растет. Может мы этого еще не добавляли) Так что пересмотри предыдущие уроки, может что то пропустил.
Светлана 28 уровень
2 мая 2020, 19:24
так интересно. Змея моя на гусеницу очень похожа, прожорливую очень. Мне столько яблок и так быстро не съесть.
Victor 22 уровень
28 апреля 2020, 17:51
Зачем проверять голову на столкновение с головой. ((
Иван Плотников 29 уровень, Санкт-Петербург
28 апреля 2020, 22:12
Да, я тоже об этом подумал. В принципе и в первые два элемента, идущие за головой врезаться не получится. Но код проще получается через foreach если не париться с головой.
Сергей Ретнев 19 уровень, Москва
28 января 2020, 06:36
Пишем аккуратно название -1 попытка. По логике весь метод один for earch и сравнение координат. А сам метод как дополнительное условие в ифе проверки выхода за границы поля. Я стал 807 решившим. 2 попытки это лучше 40% решивших. ПС. Очень обидно за потерю попытки из-за грамматической ошибки. С автоподстановками идеи их не видно 😂
Intoxikot 29 уровень, Челябинск
8 января 2020, 18:47
Это не задача! Это какой-то ужас. 22 попытки.. а все почему? Да потому что валидатор ебнутый. И никак не хотел принимать один самый очевидный пункт. =_=
Пётр Кузнецов 36 уровень, Санкт-Петербург
21 февраля 2019, 08:59
Админам: 1) В методе checkCollision() нет смысла проверять первые три элемента змеи, поскольку столкновение с ними невозможно (голова в себя врезаться не может, назад ходить не может, врезаться в тело может только после трёх поворотов - в четвёртый элемент списка). Валидатор отказался принимать проверку с 4-го элемента, но принял проверку всех элементов, заявив, что производительность его не ****. 2) Не принимался красивый годный код с вложенными if'ами в методе move(Apple) - пришлось копипастить чужой говно-код с раскоряченными if'ами и повторами, который был с радостью съеден. Отбиваете желание делать красиво.
Константин 35 уровень, Челябинск
26 марта 2019, 16:30
Ещё и нельзя использовать snakeParts.set() только snakeParts.add().
Alesha 22 уровень, Москва
25 апреля 2019, 15:03
У меня при snakeParts.set() отваливался хвост и голова дальше двигалась в одиночку xD
Константин 35 уровень, Челябинск
21 мая 2019, 17:39
Надо попробовать) Хороший будет мод: то хвост болит, то лапы отваливаются.
Tigran 35 уровень, Manchester
18 мая 2020, 10:44
Спасибо большое не мог понять в чем проблема, но почему сет не работает