Hungry Snake

Recommended levellevel
5+
A long serpentine creature slithers across a limited field, obeying the player's orders (moving right, left, down, and up). And there's no way to stop it from moving. Just don't touch the boundaries or you'll die! And don't bite yourself or... well, you get the idea. Along the way, the creature encounters food that makes it even longer. As it grows, it gets more and more cramped... Stop the madness! You probably recognize this comedic storyline from the famous game "Snake". This game originated in the 1970s. That's when it first appeared on arcade machines. In the 21st century, it was popularized by Nokia, which pre-installed Snake on almost all their mobile phones. Between these two milestones, there were versions for the Commodore VIC-20, MS-DOS, ZX Spectrum, Windows, Mac OS? If you go to Google Play or the App Store, you'll probably find a couple dozen different versions of Snake. It's hard to imagine a platform that doesn't have its own version of Snake. Why? On the one hand, it's an interesting game that is perfect for passing the time. On the other hand, Snake is simple enough to create on your own. See for yourself! Use Java to write your own version of this game about the adventures of a growing reptile. On CodeGym, we've already described every step, which will help a novice player handle this task without problems. Carry on!
Comments (331)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Михаил Борисов QA Automation Engineer at EGAR Technology
25 April, 18:04
Чтобы одержать победу в эту змейку нужно вырастить ее до 80 клеток. Звучит не так уж и сложно, правда? Но есть одно НО: - ты не управляешь змейкой, а только смотришь, как волновой алгоритм поиска пути играет вместо тебя! Он не идеален, поэтому выиграть сразу не получится. А если вообще получится, то хвастайся в комментариях (и иди покупай лотерейный билет, потому что сегодня удача явно на твоей стороне 😅 ) Сама игра тут Управление: (проще некуда) SPACE - начать заново Удачи!
19 February, 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); } для того что б узнать из за чего не собирается на сервере прога, надо зайти в браузер и узнать, нажав правильное решение. СУПЕР. Следовательно ты не решил ))) Подстава.
Ivan Stepanov
Level 12
19 January, 18:41
Как сделать другой цвет поля?
YUREC
Level 36
19 February, 17:25
с помощью метода setCellColor(int,int,Color);
Sypher Team Lead at БравликеExpert
13 December 2023, 15:22
почему когда пытаюсь подключить import com.javarush.engine.cell.*; у меня подчеркивается com и пишет The package com is not accessible
Shine
Level 16
4 December 2023, 21:20
Привет всем. Хочу представить вам свою версию игры "змейка" и кратко расскажу чем она выделяется: Кроме яблок Уровни генерируются самостоятельно случайным образом, с каждой новой игрой. Виноград - Дает временно использовать крюк кошку на Space (10 сек) Арбуз - Ускоряет змейку в 2 раза (7 сек) Лимон - Замедляет змейку в 1,5 раза (7 сек) Перец - Взрывает стены. Через 7 секунд они восстанавливаются обратно. Возможность проходить сквозь границы уровня Сама игра - Змейка Был бы очень рад вашей оценке)
Петр
Level 24
12 January, 14:28
Игра с багом: если после проигрыша нажать на стрелочку, то игра продолжится с надписью на экране
YUREC
Level 36
18 February, 13:53
это фича😄
SkyNet
Level 38
3 November 2023, 19:10
Кто объяснит почему при выражении "return ((part.x==gameObject.x) && (part.y==gameObject.y))?true:false;" и "if ((part.x == gameObject.x) && (part.y == gameObject.y)) { return true;" }логика змейки меняется? Код всей функции: public boolean checkCollision(GameObject gameObject) { for (GameObject part:snakeParts) { // return ((part.x==gameObject.x) && (part.y==gameObject.y))?true:false; if ((part.x == gameObject.x) && (part.y == gameObject.y)) { return true; } } return false; }
Илья
Level 38
11 August 2023, 22:03
идея вообще не видит плагинБ что делать?
25 July 2023, 17:18
як зробить змейку 2 задачу питкажить.
18 July 2023, 18:28
Не до конца понимаю что делает this в Этом примере :
private void createGame(){
        drawScene();
        Apple apple = new Apple(7,7);
        apple.draw(this);
    }
mka
Level 5
19 July 2023, 08:24
он передаёт ссыль на текущий объект класса Game
jar5000
Level 26
16 July 2023, 13:43
Предлагаю к Вашему вниманию свою реализацию Змейки. Тут все довольно просто, нужно съесть 20 яблочек, однако игра ускоряется с каждой секундой. Не теряйте времени зря!!! Бананы и грушиы помогут немного замедлить игру и набрать больше очков. Так же вы можете выходить ЗА границы уровня. А ещё, в игре присутстсвует скрытая концовка :) Змейка