Змейка
Рекомендованный уровеньУровень
5+
Длинное змееобразное существо ползает по ограниченному полю, подчиняясь приказам игрока (право, лево, вниз, вверх). И нет никакой возможности остановить его движение. Только бы не коснуться краев поля, иначе гибель! Только бы не укусить себя, иначе… ну вы поняли. На пути у существа попадается еда, от которой оно становится ещё длиннее. От роста ему становиться всё теснее, и теснее, и теснее… Стоп машина! …Вы, вероятно, узнали в описанной выше шуточной драме сценарий знаменитой игры «Змейка». Эта игрушка берёт своё начало в 70-х годах прошлого столетия. Именно тогда она впервые появилась на аркадных автоматах. А в 21-м столетии её популяризатором выступила компания Nokia, которая предустанавливала «Змейку» едва ли не во все свои мобильные телефоны. Между этими двумя вехами были версии для Commodore VIC-20, MS-DOS, ZX Spectrum, Windows, Mac OS… Если вы залезете в Play Маркет или Apple Store, то, скорее всего, найдёте пару десятков вариантов различных «Змеек». Сложно представить себе платформу, на которой не было бы собственного варианта «Змейки». Почему так? Дело в том, что с одной стороны, это интересная игра, которая отлично помогает скоротать время. С другой стороны, «Змейку» достаточно просто создать самостоятельно. Давайте убедимся в этом сами, и напишем собственную версию приключений растущего пресмыкающегося на Java. Мы на JavaRush уже расписали все шаги, которые помогут начинающему игроку справиться с такой задачей без проблем. Вперёд!
Комментарии (36)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Jake Walker1 уровень
6 декабря, 15:55
Это была очень интересная игра в свои годы. Сейчас её можно было попробовать возродить, но для этого нужны способности программирования, что я пока не умею. Проблема только в том что я обычный школьник учащийся в 7 классе и не имеющий таких средств.
Alexandr Agalarov15 уровень, Москва
6 декабря, 17:25
В школе мозги еще легко поддаются новым знаниям. Нет средств на javarush - книги. Нет средств на книги - школьные учителя информатики. Нет и таких людей - просторы гугла (бесплатные ресурсы, документация, yotube)
Siller19 уровень, Санкт-Петербург
6 декабря, 18:47
+ школа Самсунг бесплатная, они уже почти во всех крупных городах!
7 декабря, 13:47
Что за школа самсунг?
Nastya Tsvetkova0 уровень
понедельник, 11:05
it samsung школа https://myitschool.ru/ Учусь там уже 4ый месяц, самое то
Siller19 уровень, Санкт-Петербург
вчера, 19:14
+ закончил её 2 года назад
Hypnotoad16 уровень
6 декабря, 12:53
Alexandr Agalarov15 уровень, Москва
5 декабря, 19:59
Как запустить проект в IDEA? Запуск выдает ошибку
Error:(4, 8) java: cannot access javafx.application.Application
  class file for javafx.application.Application not found
Собственно, ругается на начало
public class SnakeGame extends Game {
...
Плагин обновлял.
Siller19 уровень, Санкт-Петербург
5 декабря, 20:53
сделай пару заданий в браузере и потом обнови в идеи, потом подключи библиотеку, которая находиться в папке lib
Vasyl Malik35 уровень, Киев
6 декабря, 14:04
Нет библиотеки JavaFx. Если используешь OpenJDK на Ububntu: sudo apt-get install openjfx После этого зайти в настройки проекта (alt+ctrl+shift+s) -> SDK’s -> Classpath и нажать справа на плюс. Выбрать файл, который находится в установленой JDK по пути: /jre/lib/ext/jfxrt.jar
Alexandr Agalarov15 уровень, Москва
6 декабря, 14:13
использую Windows. Проблема разрешилась переустановкой плагина.
Роман15 уровень
7 декабря, 14:54
у меня аналогичная ошибка, сделал по вашей инструкции, теперь пишет вот что:
Error: JavaFX runtime components are missing, and are required to run this application
Vasyl Malik35 уровень, Киев
7 декабря, 16:06
Какая версия java? 11?
Александр0 уровень
9 декабря, 00:07
У меня та же проблема. Java 11
Роман15 уровень
5 декабря, 11:37
как сделать, чтобы "\ud83c\udf4e" отображалась яблоком, а не квадратиком? дело скорее всего в кодировке, но как исправить? в идее справа внизу указан UTF-8, так что по идее все норм должно быть. или я как-то не так записываю? Строка имеет вид:
private  static final String APPLE_SIGN = "\uD83C\uDF4E";
Роман15 уровень
5 декабря, 13:16
попробовал присваивать символы по кодировке UTF-8, в итоге некоторые получаются нормально, а некоторые иероглифы/квадратики. В чем может быть проблема, что делать?
Pavlo Plynko40 уровень, Киев
5 декабря, 18:24
Дай пример хоть одного проблемного символа.
Роман15 уровень
5 декабря, 19:15
"\uD83C\uDF4E", некоторые символы (в том числе змея) с указанного сайта
Сергей40 уровень
8 декабря, 06:03
Под дебианом доустановил ttf-ancient-fonts
Pavlo Plynko40 уровень, Киев
5 декабря, 09:34
jondo20 уровень
4 декабря, 21:51
обратите внимание на регистры. пятый пункт сдала с 23 попытки. писала SnakeParts вместо snakeParts :(
Владимир Настоящий28 уровень, Санкт-Петербург
5 декабря, 07:26
коварная регистрозависимая JAVA =)
Гайфутдинов Руслан15 уровень, Санкт-Петербург
3 декабря, 18:52
чего то я рано занялся игрой вроде , 2 этап и уже не понимаю как делать
Евгений Алелеков36 уровень, Новосибирск
4 декабря, 06:26
если только начал изучать java, то рановато.
Евгений Алелеков36 уровень, Новосибирск
3 декабря, 17:08
Кто справился с 7 заданием, помогите пожалуйста. Валидатор не принимает. Проверь, что метод draw(Game) для каждого сегмента змейки вызывает метод setCellValueEx(int, int, Color, String, Color, int) с параметрами: x, y, Color.NONE, HEAD_SIGN (или BODY_SIGN), Color.RED, 75, если змейка неживая.
public void draw(Game game){
        if(isAlive = false){
        game.setCellValueEx(x, y, Color.NONE, HEAD_SIGN, Color.RED, 75);
        game.setCellValueEx(x+1, y, Color.NONE, BODY_SIGN, Color.RED, 75);
        game.setCellValueEx(x+2, y, Color.NONE, BODY_SIGN, Color.RED, 75);
        }
        else{
        game.setCellValueEx(x, y, Color.NONE, HEAD_SIGN, Color.GREEN, 75);
        game.setCellValueEx(x+1, y, Color.NONE, BODY_SIGN, Color.GREEN, 75);
        game.setCellValueEx(x+2, y, Color.NONE, BODY_SIGN, Color.GREEN, 75);
        }
    }
Евгений Алелеков36 уровень, Новосибирск
3 декабря, 17:30
if(isAlive != true) o_O mission complete
Владимир Настоящий28 уровень, Санкт-Петербург
5 декабря, 07:21
if(isAlive == false) == - это сравнение, = - это присвоение. можно еще if(!isAlive)
Евгений Алелеков36 уровень, Новосибирск
5 декабря, 08:12
точняк. спасибо
Ruslan16 уровень, Харьков
3 декабря, 15:06
Подскажите пожалуйста как открыть проект игры в идее? В списке задач проект виден, но при попытке открыть - pop-up "Неизвестная ошибка".
Anonymous #19932942 уровень
3 декабря, 15:44
Необходимо обновить плагин.
Ruslan16 уровень, Харьков
3 декабря, 15:45
Спасибо, заработало
Ivan Zaytsev33 уровень, Киев
1 декабря, 21:24
Во первых в браузерной версии не сохраняется прогресс при переходе на следующий этап. Очень много недоработок валидатора. После 9 этапа наделал ошибок что змейка отказывалась двигатся уже на 13 этапе но валидатор пропустил.. На 15-18 этапе у нас просят чтобы метод1 вызывался перед методом2, я это сделал но валидатору не нравилось пока я не изменить немного метод (логика не поменялась). После 18-19 этапа эти же методы если не поставить вниз то валидатор не пропустит. Когда начал решать змейку то последнее решение сапера пропало.