Змейка

Рекомендованный уровеньуровень
5+
Длинное змееобразное существо ползает по ограниченному полю, подчиняясь приказам игрока (право, лево, вниз, вверх). И нет никакой возможности остановить его движение. Только бы не коснуться краев поля, иначе гибель! Только бы не укусить себя, иначе… ну вы поняли. На пути у существа попадается еда, от которой оно становится ещё длиннее. От роста ему становиться всё теснее, и теснее, и теснее… Стоп машина! Вы, вероятно, узнали в описанной выше шуточной драме сценарий знаменитой игры «Змейка». Эта игрушка берёт своё начало в 70-х годах прошлого столетия. Именно тогда она впервые появилась на аркадных автоматах. А в 21-м столетии её популяризатором выступила компания Nokia, которая предустанавливала «Змейку» едва ли не во все свои мобильные телефоны. Между этими двумя вехами были версии для Commodore VIC-20, MS-DOS, ZX Spectrum, Windows, Mac OS… Если вы залезете в Play Маркет или Apple Store, то, скорее всего, найдёте пару десятков вариантов различных «Змеек». Сложно представить себе платформу, на которой не было бы собственного варианта «Змейки». Почему так? Дело в том, что с одной стороны, это интересная игра, которая отлично помогает скоротать время. С другой стороны, «Змейку» достаточно просто создать самостоятельно. Давайте убедимся в этом сами, и напишем собственную версию приключений растущего пресмыкающегося на Java. Мы на JavaRush уже расписали все шаги, которые помогут начинающему игроку справиться с такой задачей без проблем. Вперёд!
Комментарии (341)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Crips 022
Уровень 1
12 июля 2025, 18:02
Я в эти игры уже играл,
Tachikoma
Уровень 28
16 марта 2025, 21:48
Отдельно создаем private void drawScene(), где красим перебором ячейки и отдельно private void createGame(), в котором вызываем метод, которые красят ячейки Забылось и пришлось подсматривать в друго задачке
Hassan san Backend Developer
31 января 2025, 11:36
Я в эти игры уже играл,
Daniil Medvediev
Уровень 44
12 января 2025, 16:19
Хочу делать игру в интеллидж отдельно от курса, а надо импортировать класс гейм import com.javarush.engine.cell.*;. И выдает ошибку подчеркивая джавараш. Может есть другой импорт?
Anonymous #3461558
Уровень 1
9 июня 2024, 07:18
Как эту игру играть
17 мая 2024, 08:25
Поиграйте в мою змейку с блекджеком и шлю с курицами, петухами и цыплятами тут 🐤
Амнистия Уровeнь 777
23 февраля 2025, 05:01
Недоступно((
Денис
Уровень 27
5 мая 2024, 09:43
Что происходит тут ? Проверка частей змейки?
public void draw(Game game) {
        for (int i = 0; i < snakeParts.size(); i++) {
            GameObject part = snakeParts.get(i); // тут принимаю текущее состоянии змейки
            String sign = (i != 0) ? BODY_SIGN : HEAD_SIGN; // если знак не 0, то тело иначе голова
            game.setCellValue(part.x, part.y, sign); // тут координаты ставим новые, где будет змейка или что?
        }
    }
Денис
Уровень 27
5 мая 2024, 09:13
Подскажите что не так : В классе Snake должно существовать приватное статическое final поле String HEAD_SIGN, инициализированное при объявлении. Например, использовать можно UTF-16 символ "\uD83D\uDC7E". РУгается на строку : // символы для отрисовки головы и тела змейки private static final HEAD_SIGN = "\uD83D\uDC7E";
Денис
Уровень 27
5 мая 2024, 09:57
А все забыл тип дописать String)
Михаил БорисовQA Automation Engineer в EGAR Technology
25 апреля 2024, 18:04
Чтобы одержать победу в эту змейку нужно вырастить ее до 80 клеток. Звучит не так уж и сложно, правда? Но есть одно НО: - ты не управляешь змейкой, а только смотришь, как волновой алгоритм поиска пути играет вместо тебя! Он не идеален, поэтому выиграть сразу не получится. А если вообще получится, то хвастайся в комментариях (и иди покупай лотерейный билет, потому что сегодня удача явно на твоей стороне 😅 ) Сама игра тут Управление: (проще некуда) SPACE - начать заново Удачи!
Дмитрий
Уровень 27
19 февраля 2024, 06:35
6 задачка вот бомбило то, не компилируется на сервере! Почему? ХЗ, пришлось зайти с браузера, еще раз запустить что б посмотреть почему не компилится. Ах, да. for (int i = 0; i < snakeParts.size(); i++) { var sp = snakeParts.get(i); да да нельзя так писать 'var' надо 'GameObject' жесть! game.setCellValue(sp.x, sp.y, i == 0 ? HEAD_SIGN : BODY_SIGN); } для того что б узнать из за чего не собирается на сервере прога, надо зайти в браузер и узнать, нажав правильное решение. СУПЕР. Следовательно ты не решил ))) Подстава.