Змейка

Рекомендованный уровеньУровень
5+
Длинное змееобразное существо ползает по ограниченному полю, подчиняясь приказам игрока (право, лево, вниз, вверх). И нет никакой возможности остановить его движение. Только бы не коснуться краев поля, иначе гибель! Только бы не укусить себя, иначе… ну вы поняли. На пути у существа попадается еда, от которой оно становится ещё длиннее. От роста ему становиться всё теснее, и теснее, и теснее… Стоп машина! …Вы, вероятно, узнали в описанной выше шуточной драме сценарий знаменитой игры «Змейка». Эта игрушка берёт своё начало в 70-х годах прошлого столетия. Именно тогда она впервые появилась на аркадных автоматах. А в 21-м столетии её популяризатором выступила компания Nokia, которая предустанавливала «Змейку» едва ли не во все свои мобильные телефоны. Между этими двумя вехами были версии для Commodore VIC-20, MS-DOS, ZX Spectrum, Windows, Mac OS… Если вы залезете в Play Маркет или Apple Store, то, скорее всего, найдёте пару десятков вариантов различных «Змеек». Сложно представить себе платформу, на которой не было бы собственного варианта «Змейки». Почему так? Дело в том, что с одной стороны, это интересная игра, которая отлично помогает скоротать время. С другой стороны, «Змейку» достаточно просто создать самостоятельно. Давайте убедимся в этом сами, и напишем собственную версию приключений растущего пресмыкающегося на Java. Мы на JavaRush уже расписали все шаги, которые помогут начинающему игроку справиться с такой задачей без проблем. Вперёд!
Комментарии (150)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Артём15 уровень, Санкт-Петербург
позавчера, 20:58
Где изначально создать самый первый класс SnakeGame?У меня не проходит импорт движка совсем..
Crawler20 уровень, Просперо
16 сентября, 16:19
На злобу левакам Приключения Лутора Конга
UnNat_NA!!!24 уровень, Санкт-Петербург
16 сентября, 11:36
Я правильно понимаю, что на маке при старте из IDEA нет возможности emoji на поле корректно рисовать?
9 сентября, 15:17
Мне понравилось!
kent_20070 уровень
8 сентября, 17:55


я немогу это понять
Алексей Шалунов4 уровень, Кстово
3 сентября, 22:01
подскажите пожалуйста, как реализовать паузу?
Николай Уланов18 уровень, Ростов-на-Дону
3 сентября, 22:07
Thread.sleep(ms)
Алексей Шалунов4 уровень, Кстово
3 сентября, 19:03
а есть какой-то код чтобы звуки добавлять?
Иван16 уровень, Рязань
12 августа, 19:27
Я все понимаю, но это не понимаю
private Direction direction = Direction.LEFT;

    public void setDirection(Direction direction){
        this.direction=direction;
    }
Sergei Volkov0 уровень
17 августа, 11:12
private Direction direction = Direction.LEFT; public void setDirection(Direction d){ direction=d; } А теперь понятно?
Иван16 уровень, Рязань
17 августа, 11:54
Не понял в чем ошибка, использовал слово this чтобы для одного и того же значения не использовать разные переменные, использовал твой код ошибка та же
Иван16 уровень, Рязань
17 августа, 15:22
ошибка была в том, что видимо случайно добавился import com.sun.javafx.scene.traversal.Direction)
Valery Lvov20 уровень, Москва
6 июля, 07:26
Парни, а это у меня одного опубликованные игры (и своя, и чужие) выглядят как тельняшка?
Ivan Matveenko31 уровень, Омск
17 июля, 14:24
у меня в Moon Lander тоже тельняшка, ты понял из-за чего это?
Mark Cain37 уровень, Львов
29 июня, 12:39
задача 8 - не проходит проверку если не удалить/закоментировать в методе onTurn() вызов метода суперкласа. Явно нигде не указано что он мешает.
Антоний Шаламов19 уровень, Хабаровск
2 июля, 19:55
Так нигде явно не указано, что он должен вызываться)
Mark Cain37 уровень, Львов
3 июля, 07:19
да, но он не влияет ни на что (метод суперкласса не реализован)... поэтому: во-первых, смысл его удалять есть только для того чтобы валидатор не ругался; во-вторых, не сразу поймешь что конкретно не нравится валидатору...
Антоний Шаламов19 уровень, Хабаровск
3 июля, 10:42
С вашей точки зрения не влияет, с точки зрения валидатора - влияет, программа вызывает метод суперкласса, это целое действие. Тем более, если оно не имеет смысла, зачем заставлять программу делать лишнее действие?
Mark Cain37 уровень, Львов
3 июля, 10:52
Ну если у валидатора есть своя "точка зрения" которую никак не поменять, то вы правы.
Антоний Шаламов19 уровень, Хабаровск
3 июля, 13:16
Ну, если вы считаете, что вызов, по сути абстрактного метода имеет смысл, то, если абстрагироваться, в чём то вы тоже правы...