2048

Рекомендованный уровеньуровень
5+
Жил некогда молодой итальянец по имени Габриэле Чирулли. Он изучал программирование и однажды, делая упражнение по кодингу, совершенно случайно совершил прорыв в игровой индустрии. Как ему это удалось? Вышло так, что в качестве упражнения он решил написать игру, чем-то похожую на уже существующую головоломку Trees. На реализацию игры, которую он назвал 2048, у Габриэле ушло два дня. Игра была бесплатной и имела ошеломительный успех! Даже если вы сами не играли в 2048, то, скорее всего, в неё играли ваши друзья и знакомые. Или вы видели её у людей в общественном транспорте. Помните такие цветастые плитки с числами, заполонившие несколько лет назад экраны смартфонов? Это и есть 2048. Игра получила своё имя не просто так. 2048 — это 2 в 11 степени. И в этой игре всё построено на степенях двойки. Краткие правила таковы: у вас есть поле 4х4, разбитое на квадратные плитки. В каждом раунде появляется плитка с номиналом «2» (с вероятностью 90%) или «4» (с вероятностью 10%). Все плитки можно перемещать в одну из четырёх сторон, при этом если две плитки одного номинала «налетают» друг на друга, они слипаются и их номинал удваивается. Цель — получить плитку номиналом 2048. Игрок проигрывает, если после очередного хода невозможно совершить действие. Что же в ней такого особенного? В первую очередь, в неё очень удобно играть в браузере или на смартфоне. Давайте создадим собственный вариант игры прямо на JavaRush. Кто знает, может, после этого вы тоже случайно придумаете и разработаете собственную головоломку, которая станет не менее успешной? Вперёд!
Комментарии (108)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Иван
Уровень 16
6 марта, 19:46
private void drawScene(){
        for(int x = 0; x < gameField.length; x++){
            for(int y = 0; y < gameField.length; y++){
                setCellColoredNumber(x, y, gameField[x][y]);
            }
        }
    }
private void setCellColoredNumber(int x, int y, int value){
        Color color = getColorByValue(value);
        if(gameField[x][y] == 0){
        setCellValueEx(x, y, color, "");
        }else{
        setCellValueEx(x, y, color, String.valueOf(gameField[x][y]));
        }
    }
не проходят 4й и 7й пункт, чего валидатору надо? где я чего не так вызываю?
ToTAmon
Уровень 25
4 марта, 12:06
Не работает setScore().
Максимsssnm
Уровень 17
8 января, 17:49
Пара вопросов появилась. Вот мы установили счетчик очков, но на сайте его нигде нет и когда из IDEA запускаю, то очки не меняются в самой игре, а только когда заканчиваешь ее, хотя по логики должно выводить. Как это исправить? И когда игра опубликована, то где менять её код, чтобы он изменялся и в опубликованной игре. А то у меня надписи корректно не отображаются на сайте и хочется пофиксить
YUREC
Уровень 33
10 февраля, 19:41
у меня вообще счетчика score на экране с игрой нет
Eduard System Engineer
21 июня 2023, 11:43
При запуске на JavaRush не работает клава. Валидацию проходит, даже опубликовалась, только не управляется... В IDEA всё нормально работает.
YUREC
Уровень 33
8 февраля, 10:51
ага у меня такое тоже было на крестиках-ноликах - то что работает в IDEA не работает на сайте. Только у меня там часть кода по поводу вывода сообщения о ничьей не отрабатывала.
Михаил
Уровень 40
1 июня 2023, 18:24
Не могу опубликовать, в чем может быть проблема?
Максим
Уровень 28
1 февраля 2023, 15:05
Marina-dm28
Уровень 38
3 января 2023, 17:52
А можно ли выложить игру в Git вместе с движком Game?
IrinaHonya
Уровень 45
17 августа 2022, 11:21
Когда играешь на страничке опубликованной игры то нигде не вижу счетчик очков 😐 Это у всех так или только у меня?
Rexalifet
Уровень 23
29 сентября 2022, 06:17
Та же проблема. При чём, как в браузере, так и в телефоне
Vahagn
Уровень 40
7 июля 2022, 06:00
а зачем вы про очки написали там нечего токого нету в игре
Сергей Смарт
Уровень 51
2 июля 2022, 09:03
Хорошая комплексная задача для оттачивания навыков работы с двумерными массивами