2048

Рекомендованный уровеньУровень
5+
Жил некогда молодой итальянец по имени Габриэле Чирулли. Он изучал программирование и однажды, делая упражнение по кодингу, совершенно случайно совершил прорыв в игровой индустрии. Как ему это удалось? Вышло так, что в качестве упражнения он решил написать игру, чем-то похожую на уже существующую головоломку Trees. На реализацию игры, которую он назвал 2048, у Габриэле ушло два дня. Игра была бесплатной и имела ошеломительный успех! Даже если вы сами не играли в 2048, то, скорее всего, в неё играли ваши друзья и знакомые. Или вы видели её у людей в общественном транспорте. Помните такие цветастые плитки с числами, заполонившие несколько лет назад экраны смартфонов? Это и есть 2048. Игра получила своё имя не просто так. 2048 — это 2 в 11 степени. И в этой игре всё построено на степенях двойки. Краткие правила таковы: у вас есть поле 4х4, разбитое на квадратные плитки. В каждом раунде появляется плитка с номиналом «2» (с вероятностью 90%) или «4» (с вероятностью 10%). Все плитки можно перемещать в одну из четырёх сторон, при этом если две плитки одного номинала «налетают» друг на друга, они слипаются и их номинал удваивается. Цель — получить плитку номиналом 2048. Игрок проигрывает, если после очередного хода невозможно совершить действие. Что же в ней такого особенного? В первую очередь, в неё очень удобно играть в браузере или на смартфоне. Давайте создадим собственный вариант игры прямо на JavaRush. Кто знает, может, после этого вы тоже случайно придумаете и разработаете собственную головоломку, которая станет не менее успешной? Вперёд!
Комментарии (27)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Dabangg2 уровень
воскресенье, 15:34
На первом этапе сздал класс 2048
package com.javarush.games.game2048;
import com.javarush.engine.cell.*;
public class Game2048 extends Game{
}
При запуске получаю всплывающее окно с надписью: Чтобы разделить экран на клеточки воспользуйтесь методом setScreenSize(columnCount, rowCount)
Гудини17 уровень, Санкт-Петербург
31 октября, 16:08
Проверь, что значения плиток на игровом поле соответствуют значениям в матрице. А как проверить. вывода никакого нет, только картинка в виде квадрата.
Elizabeth Malfoy17 уровень
2 ноября, 13:31
В начале при создании массива прописываешь
private int[][] gameField = {{  2,    4,    8,  16},{ 32,   64,  128, 256},{512, 1024, 2048,   0},{  2,    4,    8,  16}};
Потом в методе initialize() убираешь вызов метода createGame
@Override
public void initialize(){
    setScreenSize(SIDE, SIDE);
    //createGame();
    drawScene();
}
IvanMakish10 уровень, Москва
22 октября, 20:26
com/javarush/games/game2048/part04/Game2048.java:14: error: '.class' expected setCellColor(int,int,Color); Помогите, что от меня требуется
28 августа, 16:32
Хмм.. Очень интересно) На плитке ничего не отображается (и передаю пустую строку), однако тест не проходит, ибо: "нет, косяк, ты там это, что-то да пишешь")) Есть у кого-нибудь идеи, как это можно пофиксить?
Антон11 уровень, Тверь
6 августа, 19:59
Кто может объяснить , как писать эти игры? Я со знаниями 7 уровня могу , что-то сделать?
Артём Косенко36 уровень
7 августа, 19:29
Лучше раньше 20 уровня не лезть
Aleksandrs Grigorjevs1 уровень
8 августа, 04:26
у меня первый и вроде ничего :)
Максим27 уровень
31 июля, 00:47
Не игра, а просто эталон ООП!
Андрей41 уровень, Минск
21 июля, 19:01
3 часа на это ушло 0_о
Roman0 уровень
24 февраля, 10:51
круто
Антон31 уровень, Москва
31 января, 09:48
почему я не могу подправить код игры 2048?!,компилятор не реагирует на изменения, сапер и змейку могу?
Rusty Raccoon24 уровень, Минск
25 декабря 2018, 13:46
Добавьте проверку чтобы нельзя было добавлять новые значения на уже занятые клетки.