2048

Материал из Викиреальностя
Перейти к: навигация, поиск
Выигрышная позиция в 2048

2048 — сыскавшая большую популярность в Интернете бесплатная браузерная игра, разработанная в марте 2014 года девятнадцатилетним итальянским программистом Габриэле Чирулли (итал. Gabriele Cirulli). Игра написана на языке JavaScript, её исходный код можно посмотреть на GitHub.[1] По словам Габриэле, он написал игру менее, чем за два дня, вдохновившись схожими играми 1024! (в свою очередь основанной на игре Threes, релиз которой состоялся 6 февраля 2014 года), и 2048 (отличается от версии Чирулли правилами перемещения плиток по полю).[2]

Помимо браузерного варианта, игра представлена и в виде мобильных приложений для смартфонов и планшетных компьютеров, которые могут работать без подключения к Интернету.

Содержание

[править] Правила игры

В ходе игры

Игровое поле имеет форму квадрата 4x4, в каждой клетке которого может содержаться плитка (тайл) с некоторой степенью двойки. После каждого хода в пустой клетке появляется новая плитка номинала «2» (с вероятностью 90 %) или «4» (с вероятностью 10 %). В начале партии (перед первым ходом) появляются два тайла. Ход заключается в том, что с помощью стрелок клавиатуры игрок скидывает все плитки в одну из сторон, при этом налетающие друг на друга плитки одного номинала объединяются в одну, номинал которой равен сумме объединившихся тайлов, то есть следующей степени двойки. Ход считается сделанным только в том случае, когда хотя бы одна плитка изменила своё положение. За каждую сложенную плитку игрок получает столько очков, каков номинал полученной плитки. Цель игры — получить тайл с номиналом 2048, игра заканчивается поражением, если после очередного раунда невозможно совершить ход. Исходно после получения победной плитки игра завершалась, позднее была добавлена возможность продолжения игры.

[править] Исследования на Хабрахабре

Самая последняя позиция в игре 2048

Игре посвящено несколько постов на Хабрахабре. В одной из тем обсуждалась стратегия игры в 2048. В частности рекомендуется заполнять первый ряд по убыванию значения плиток слева направо, затем второй ряд — тайлами по убыванию справа налево. При этом рекомендуется использовать преимущественно ходы «влево» и «вверх», двигаясь вправо только при необходимости и избегая хода «вниз». Подобная стратегия приводит к получению максимальных тайлов в левом верхнем углу, существуют аналогичные стратегии для остальных трёх углов игрового поля.[3]

В другом посте было получено, что максимально возможной плиткой в этой игре является 2^17=131072, а максимально возможное число очков, которые можно набрать, — 3 932 100. Игра может продолжаться не более, чем 131 052 ходов.[4]

[править] Вариации

Популярность и простота реализации игры привела к появлению многочисленных разновидностей и вариаций игры, от шуточных до серьёзных самостоятельных игр. Ниже приведены некоторые из них.[5]

[править] Различные конфигурации

Размеры поля Выигрышная плитка Ссылка
2×2 4 http://ehzhang.github.io/4/

http://aarextiaokhiao.github.io/Aarex2048/4.html

3×3 256 http://aarextiaokhiao.github.io/Aarex2048/256.html
4×4 1024 http://aarextiaokhiao.github.io/Aarex2048/classic.html
4×4 4096 http://martijnkorteweg.github.io/4096/
4×4 8192 http://www.csie.ntu.edu.tw/~b01902112/8192/
4×4 На выбор, от 8 до 32768 http://poweroftwo.nemoidstudio.com/2048
5×5 65536 http://www.csie.ntu.edu.tw/~b01902112/65536/
6×6 4194304 http://aarextiaokhiao.github.io/Aarex2048/4194304.html
8×8 9007199254740992 http://www.csie.ntu.edu.tw/~b01902112/9007199254740992/

[править] Различные размерности

Размерность пространства Размеры поля Ссылка
1D 1×21 http://tiansh.github.io/2048/
3D 3×3×3 http://joppi.github.io/2048-3D/
4D 2×2×2×2 http://maigoakisame.github.io/2048-4D/

http://huonw.github.io/2048-4D/

5D 2×2×2×2×2 http://cesarkawakami.github.io/2048-5D/

[править] Различные формы поля

Форма поля Выигрышная плитка Комментарии Ссылка
Шестиугольник (19 клеток). 16384 Управление с помощью клавиш W, E, A, D, Z, X для перемещения всех плиток в одном из шести направлений (влево-вверх, вправо-вверх, влево, вправо, влево-вниз, вправо-вниз). http://rudradevbasak.github.io/16384_hex/
Шестиугольник без центральной клетки (18 клеток). 2048
  • Управление с помощью стрелочек, для перемещения влево-вверх, вправо-вверх, влево-вниз, вправо-вниз используется одновременное нажатие соответствующих клавиш.
  • Управление с помощью стрелочек, направление ходов вверх и вниз определяется из предыдущих ходов.
Треугольник (16 клеток) 2048 Управление по сторонам треугольника: A, Q, W, E, D, S. http://creativesparkstudios.com/triangular-2048/
  • Два квадрата 4×4; верхняя левая клетка одного является правой нижней клеткой другого.
  • Два квадрата 4×4; верхняя левый квадратик 2×2 одного является правым нижним квадратиком 2×2 другого.
2048 В одной из общих клеток квадратов необходимо сложить 2048. Плитка, попавшая в эти клетки, двигается только по ним. Игра считается проигранной, если хотя бы на одном из двух квадратов нет возможности сделать ход.
Квадрат (16 клеток) 2048 На доске для стандартной игры 2048, однако плитки двигаются по диагоналям. Сложить 2048 невозможно теоретически. http://vladimirmandaric.github.io/DIAGONAL2048/2048-master/index.html

[править] Различные правила объединения

Большое количество разновидностей игры отличаются от оригинальной правилами, по которым несколько плиток объединяются в одну.

  • 0 — шуточная версия игры, две плитки с «2» объединяются в одну плитку «2». Проиграть в эту игру невозможно. Аналогичная версия есть и с нулями.
  • Fe[26] — в качестве тайлов используются химические вещества, список «реакций», по которым две плитки объединяются в одну, прилагается. Кроме того, некоторые элементы имеют свойство «распадаться» — превращаться в другие после того как не вступили в «реакцию» некоторое определённое число ходов.
  • 2048 — Zen — несложная версия игры, любые две плитки объединяются в одну. Имеется аналогичная версия, но позволяющая продолжить игру после 2048.
  • FIB — игра на числах Фибоначчи. Пара соседних чисел Фибоначчи объединяется в одно следующее. Версия до 1597, до 987.
  • 2187 — игра на доске 6×6, три подряд идущие плитки одинаковых номиналов схлопываются в одну, номинал которой в три раза больше. Имеется более простая версия, на доске 5×5 до 243.
  • 144 — игра на доске 5×5, несколько подряд идущих плиток одинаковых номиналов схлопываются в одну, номинал которой равен сумме номиналов объединившихся плиток.
  • Finals 2048 — ещё одна шуточная версия игры, любые две одинаковые плитки складываются в одну номиналом 2048. Аналогичная для доски 6×6, две одинаковые плитки объединяются в одну номиналом 4194304.
  • 20 Euros — на плитках изображены монеты и банкноты Евро. Объединение плиток происходит только в том случае, если изображённые на них монеты (деньги) можно разменять на одну большего номинала (например, 2 цента + 2 цента + 1 цент дадут 5 центов).
  • 2047 — два тайла объединяются, если число на одном из них больше другого менее, чем в два раза. Победный тайл определяется случайным образом.
  • Stochastic — два тайла с равными степенями двойки объединяется в один, номинал которого равен номиналу объединившихся плиток, их сумме либо удвоенной сумме.
  • DIVE — две плитки объединяются в одну, если одно из записанных на них чисел делится на второе. Перечень возможных новый тайлов зависит от режима игры.
  • Divide it! — объединение происходит только в том случае, когда номиналы плиток не являются взаимно простыми числами, результатом объединения становится тайл с номиналом, равным наибольшему общему делителю объединившихся плиток. Цель игры — продержаться как можно дольше.
  • 2048 русский — Клон 2048 игры в логарифмическом представлении с русского алфавита, идеально подходит для людей, которые не любят цифры.
  • 1024 игра — Клон 2048 игры в логарифмическом представлении с русского алфавита, идеально подходит для людей, которые не любят цифры.

[править] Галерея побед

[править] Версии с особыми тайлами

Просто тайл 2^39 в игре Advanced 2048
2^48
  • 2048 с нулём — после каждого хода может появиться плитка номинала «0». Подобные тайлы объединяются только друг с другом.
  • 2048 с четырьмя тысячами девяносто шестью — после каждого хода появляется плитка с номиналом «2», «4» или «4096».
  • 204÷ — добавлен особый тайл «÷», который, объединяясь с любой плиткой, уменьшает её номинал в два раза (в том числе могут быть получены дробные номиналы).
  • Advanced 2048 — добавлены тайлы «×2» и «×4», которые объединяются с любой плиткой, удваивая (учетверяя) её номинал. Цель игры — собрать 32768.
  • Quantum 2048 — некоторые тайлы находятся в состоянии «квантовой неопределённости» и одновременно являются плитками нескольких различных номиналов.
  • 2048 ±*/ — добавлены особые тайлы «+», «-», «*», «/». В одну плитку объединяются три плитки, первая и третья из которых содержит числа, а центральная — знак арифметического действия. Номинал исходной плитки равен значению полученного выражения (например, при нажатии клавиши влево комбинация «5», «-», «3» объединится в 3-5=-2, а при нажатии вправо — в 5-3=2). Одинаковые тайлы объединяются в один того же номинала.
  • Study with 2048 — особая игра, где в качестве дополнительного тайла выступает плитка «?». Она объединяется с любой другой плиткой, однако после этого игроку задаётся вопрос на эрудицию, продолжить игру можно только после дачи правильного ответа. Тематика и сложность вопрос настраивается.

[править] 2048 с отрицательными числами

Успех в zero

В нескольких вариантах игры новые плитки появляются не только с положительными, но и с отрицательными числами.

  • -512 — на доске 6×6 необходимо сложить тайл −512. Положительные и отрицательные числа между собой никак не взаимодействуют.
  • ±64 — на доске 4×4 необходимо сложить тайл 64 и −64. Две плитки с одинаковыми по модулю, но различными по знаку значениями (например, 2 и −2) объединяются в одну плитку с номиналом «0».
  • zero — две плитки с одинаковыми по модулю, но различными по знаку значениями схлопываясь исчезают. Задача — избавиться от всех тайлов на доске.

[править] Обратные 2048

В эту категорию попали те вариации 2048, в которых суть игры поставлена с ног на голову.

В частности, это игры, в которых для победы необходимо проиграть как можно скорее:

  • anti-2048 — игрок сразу имеет 512 очков, однако с каждой сложенной плиткой их число уменьшается на номинал полученного тайла. Если число очков достигает нуля, игра заканчивается поражением. Победа фиксируется, если число очков осталось положительным, но сделать ход уже невозможно.
  • -2048 — на плитках — степени двойки со знаком минус. Для победы необходимо получить позицию, из которой невозможно сделать ход, ранее, чем сложится тайл −2048. Игра усложняется тем, что на тайле, появляющемся после каждого хода, могут быть большие степени двойки (до −128 включительно).

В некоторых разновидностях игры человек и рандом меняются местами: игрок выбирает клетку (а иногда и номинал) для нового тайла, после чего все плитки сдвигаются в случайном направлении.

  • 8402 — по клику левой клавишей мыши появляется двойка, по клику правой — четвёрка.

Есть разновидности, где эти два правила соединены:

  • 2047 — по клику мыши в указанной клетке появляется 16 или 32, необходимо занять всю доску до того, как сложится плитка 2048.

Ещё одна версия игры, в которой задача игрока не собирать плитки, а разбирать:

  • 2(048) — игра начинается с собранного тайла «2048». Задача игрока состоит в том, чтобы получить плитку номинала 2. На каждом ходу необъединявшиеся тайлы распадаются на два (если имеется свободное место).

[править] Мультиплеер

Автор статьи победила неизвестного в Multiplayer

Для игры 2048 разработано два вида мультиплеера: кооперативная игра (при которой каждый из находящихся на сайте игроков может сдвинуть тайлы) и соревнование, когда два игрока каждый на своей доске стремятся за отведённое время набрать как можно большее число очков, не проиграв при этом:

  • HN Plays 2048 — кооперативная игра.
  • Big Hack Plays 2048! — ещё одна кооперативная игра, имеется счёт побед и поражений.
  • 2048-SendGrid — кооперативная игра, ходы делаются путём отправления указанный e-mail направления следующего хода.
  • 2048+2048 — игра на двух досках, управление на одной с помощью стрелочек, на другой — с помощью WASD.
  • 2048 — Multiplayer — соревнование.

[править] Прочие

  • TwoX - смесь 2048 и жанра "3 в ряд", пока доступна только для Android, надеемся, в скором времени выпустят на другие платформы.
  • Deterministic 2048 — лишённые случайности 2048, новая плитка появляется в первой свободной клеточке.
  • 2048 Masochism Edition! — по умолчанию ни одна плитка не видна, во время хода несколько тайлов могут отобразиться и тут же исчезнуть.
  • Devil’s 2048, Evil 2048 и 2048 — Hard — несколько вариаций игры, проходящей по стандартным правилам, однако новые тайлы выпадают не случайно, а с целью максимально испортить положение игроку.
  • Easy 2048 — противоположная предыдущим версия, новые тайлы стараются помогать игроку (в том числе иногда может выпасть плитка с числом больше 4).
  • Для тех, кто никак не может победить в 2048 — шуточный вариант, всё поле кроме одной клетки занято плитками «1024». Любой ход приводит к победе.
  • 2048 hack — 2048 по стандартным правилам, однако имеется возможность настроить номинал самой маленькой плитки, допустимы положительные, отрицательные, дробные числа, а также Infinity и -Infinity. Остальные выражения будут интерпретированы как единица.
  • 0xff — на плитках записаны шестнадцатиричные числа, при этом на каждом ходу появляется либо 0x00, либо 0x01; две плитки 0x0 дают тайл 0x4b, который в свою очередь является половиной тайла 0x69. Из двух плиток 0x1 сразу получается тайл 0x69, однако 0x1 и 0x4b никак между собой не взаимодействуют.
  • Speed 2048 — новый тайл появляется каждую секунду.
  • Isotopic 256 — игра на доске 3×3. Необходимо сложить атом химического элемента нобелия, объединяя в пары атомы других веществ. Основная особенность игры — атомы бериллия, фосфора и олова неустойчивы и пропадают через определённое число ходов.
  • Double 2048 — ходы делаются одновременно на двух досках. Отсутствие ходов хотя бы на одной из досок влечёт поражение.
  • Obstacle 2048 — 2048 на доске 4×4 либо 5×5; на выбора игрока от 0 до 4 клеток доски может быть заблокировано.
  • SH0TS! — вместо тайлов — стопки с коктейлями, большему номиналу соответствует больший объём напитка. Задача игрока — сложить как можно больше полных шотов.
  • 2048 Hell — 2048 с гравитацией, плитки произвольно перемещаются по полю.
  • Ch2048s - гибрид шахмат и 2048 (на ранней стадии тестирования и разработки)

[править] Галерея побед

[править] Принципиально иные игры

2048 в логарифмических flappy-2048
Весёлое красочное flappy-2048
  • Аналог Flappy Bird: в соответствии с правилами игры Flappy Bird, при нажатии на пробел плитка с числом поднимается вверх. Цель: не задевать движущиеся препятствия. С каждым успешно пройдённым препятствием значение двигающейся плитки увеличивается.
  • Тетрис: новые плитки падают сверху, при падении на плитку того же номинала происходит объединение, причём полученный тайл возможно перемещать.
  • Гоночки: двигая тайл, игрок должен избегать столкновений с движущимися препятствиями.
  • Головоломки: на доске 4×4 задаётся исходная позиция тайлов, причём некоторые клеточки доски заняты недвижимыми препятствиями. Необходимо за минимальное количество шагов получить один тайл (новых плиток после каждого хода не появляется).

[править] Гаджеты

В исходной версии игры не допускалась отмена ходов и сохранение позиции, что несколько усложняло прохождение. Поэтому был создан ряд форков игры, в которые были добавлены некоторые дополнительные технические возможности.

  • http://jerryjiahaha.github.io/2048/ — добавлена возможность сохранить текущую позицию и позднее загрузить её.
  • http://quaxio.com/2048/ — добавлена возможность отменять ходы.
  • http://storborg.github.io/2048/ — с каждым ходом изменяется якорь в URL, что позволяет сохранить ссылку на определённую позицию.
  • https://dropbox2048.site44.com/ — версия 2048, позволяющая сохранять позицию на Dropbox.
  • http://ted-996.github.io/2048/ — вариант игры, содержащий защиту от случайных неверных ходов. Предполагается, что игрок придерживается стратегии построения плитки с наивысшим номиналом в одном из углов поля. Перед началом игры требуется указать, в каком углу будет самый большой тайл. Далее во время складывания каждый ход, при котором плитка, находящаяся в выбранном углу, должна переместиться, расценивается как потенциально случайный — для его подтверждения требуется нажать клавишу «Y».
  • http://meep.cubing.net/2048/ — 2048 с таймером.

[править] Искусственные интеллекты

()

Бот maartenbaert набирает более 300 000 очков.

Кроме вышеперечисленного, ряд сайтов предлагает возможность запустить бота, который будет складывать плитки.


Для создания собственного бота можно воспользоваться следующей болванкой:[6]

function Ai() {
    this.init = function() {     
    }
 
    this.restart = function() {       
    }
 
    this.step = function(grid) {
    }
}

Комментарии. Методы init и restart вызываются, когда искусственный интеллект соответственно запускается впервые или игра начата заново. Их можно не трогать.

Метод step — основная составляющая искусственного интеллекта. Этот метод вызывается после каждого обновления позиции. Он возвращает одно из следующих целых чисел, означающих направление перемещения плиток на доске:

  • 0: вверх
  • 1: вправо
  • 2: вниз
  • 3: влево

Параметр grid содержит текущее состояние игры в виде объектов класса Tile, расположенных в ячейках grid.cells. Верхний левый угол обозначен grid.cells[0][0], верхний правый — grid.cells[3][0], нижний левый — grid.cells[0][3], нижний правый — grid.cells[3][3]. Объекты класса Tile имеют поле .value, содержащее значение плитки. Если в верхнем левом углу стоит плитка 2, то grid.cells[0][0].value == 2. Массив будет содержать null, если в данная клетка не содержит тайла (например grid.cells[0][3] == null означает, что левый нижний угол пуст). Для grid реализованы два полезных вспомогательных метода:

  • .copy() — создаёт копию текущей позиции и возвращает её.
  • .move(dir) — может быть использован для изучения позиции, которая получится в случае хода в указанном направлении. Метод изменяет состояние поля, поэтому для корректной работы следует пользоваться методом только после вызова .copy(). Изменённая позиция не содержит информации о новом тайле, возникшем после совершённого хода. Метод возвращает true, если ход в указанном направлении допустим и false в противном случае.

Пример простейшей реализации искусственного интеллекта:

    function Ai() {
    this.init = function() { }
    this.restart = function() { }
    this.step = function(grid) {
        if (this.foo == null) this.foo = 0;
        return this.foo++ % 4;
    }

Несколько образцов ИИ для 2048, выполненных на основании приведённой выше болванки:

Опробовать собственного бота (либо одного из приведённых выше) можно с помощью следующего инструмента:

[править] Оформление

Стандартное оформление
4096 в «огненных» 2048

Официальная версия игры оформлена в серых тонах, а тайлы с возрастанием номинала изменяют цвет от серых к золотым через красные (плитки с номиналом, превосходящим 2048, окрашены в чёрный цвет).

Однако практически сразу стали появляться разнообразные версии игры, отличающиеся от версии Габриэля Чирулли только оформлением: изменились цвета плиток, надписи на них перестали быть степенями двойки, в некоторых версиях на каждом тайле была изображена картинка, появились версии со звуком. Примеры подобных игр:

  • 2048 Numberwang — на плитках записаны произвольные числа, изменяющиеся с каждым ходом. Ориентируйтесь на цвет тайлов.
  • 1 — версия, в которой необходимо из тайлов 1/1024 и 1/512 получить 1.
  • Prism — призмы различных оттенков.
  • 2048 on fire — тематика огня.
  • 2048 — Animated edition — анимированная версия.
  • 2048 Game of Thrones Editon — на тайлах изображены смерти ключевых персонажей «Игры престолов» в хронологическом порядке, игра сопровождается саундтреком из фильма.
  • Godly 2048 — греческая мифилогия.
  • 2048: Doctor Who Edition — докторы Кто.
  • DOGE2048 — вырвиглазная версия с собачками.
  • PAW 2048 — любимые в Интернете котики.
  • YHDET VIELÄ! — финский алкоголь.
  • lulz2048 — версия с нелепыми звуками.
  • 2048: meta Edition — складывать разные версии игры 2048, чтобы в конце концов получить 2048: meta Edition.
  • 2048: LoremPixel Edition — невероятно сложная версия игры, тайлы всех номиналов отображаются одинаково (случайная картинка).

2 сентября 2015 года сайт meduza.io в свете экономических проблем и повышенного интереса общества к данной теме представил свою версию игры 2048, в которой предлагалось из одного рубля получить баррель нефти.[7]

В Интернете появились также генераторы игр 2048, где каждый может подобрать оформление по вкусу:

  • 2048 — имеется возможность изменить текст на тайлах.
  • 2048 — возможность загрузить картинку для каждой плитки.
  • Make Your Own 2048 — наиболее полная версия, имеется возможность установить текст/картинку для каждого тайла, оформление доски и фона. В играх, созданных на этом генераторе, имеется возможность увидеть все тайлы без прохождения игры — достаточно нажать клавишу «+».

[править] Читерство

Существует несколько различных способов, с помощью которых можно значительно увеличить число очков, отображаемых в графе «Best»,

[править] Инструкция для Google Chrome

С помощью Google Chrome можно не только изменить значение отображаемого лучшего достижения, но и установить себе позицию, определить победный тайл и т. д.[8]

  • После того, как игра загрузится, откройте Developer Tools (нажмите клавишу F12).
  • В открывшейся панели следует выбрать вкладку Elements.
  • Найдите строку <script src="js/game_manager.js"></script> и кликните по гиперссылке js/game_manager.js. Должна открыться вкладка Sources.
  • Для того, чтобы изменить счёт, найдите строку this.score = 0 и измените 0 на любое число.
  • Чтобы изменить номинал победной плитки, найдите строку if (merged.value === 2048) self.won = true; и поменяйте 2048 на желаемое значение.
  • Чтобы задать позицию плиток, найдите строку this.addStartTiles(); и закомментируйте её с помощью двух слэшей (она должна стать такой: // this.addStartTiles();). После этого вы можете дописать строки следующего вида: this.grid.insertTile(new Tile({x:<номер столбца, от 0 до 3>,y:<номер строки, от 0 до 3>}, <номинал плитки, любое положительное или отрицательное число>));. Например:
    this.grid.insertTile(new Tile({x:0,y:0}, 1024));
    this.grid.insertTile(new Tile({x:0,y:1}, 512));
    this.grid.insertTile(new Tile({x:0,y:2}, 256));
    this.grid.insertTile(new Tile({x:0,y:3}, 128));
    this.grid.insertTile(new Tile({x:1,y:3}, 64));
    this.grid.insertTile(new Tile({x:1,y:2}, 32));
    this.grid.insertTile(new Tile({x:1,y:1}, 16));
    this.grid.insertTile(new Tile({x:1,y:0}, 8));
    this.grid.insertTile(new Tile({x:2,y:0}, 4));
    this.grid.insertTile(new Tile({x:2,y:1}, 2));
    this.grid.insertTile(new Tile({x:2,y:2}, 2));
  • Для того, чтобы увидеть результаты читерства, сохраните изменения, нажав ctrl+s, а затем запустите новую игру. Все внесённые таким образом изменения действуют до первого закрытия вкладки с игрой, однако достигнутый с их помощью рекорд сохраняется.

[править] Прочее

В официальной версии игры отсутствует возможность отмены неудачного хода. Тем не менее, благодаря тому, что текущая позиция сохраняется, существует специальная хитрость. В удачной позиции игра открывается в нескольких вкладках, тогда в случае поражения можно закрыть вкладку с неуспешной позиции и начать с точки «сохранения» в соседней вкладке.[4]

Существуют специальные приложения, позволяющие изменять лучший результат в версии 2048 для iOS и Android.[9]

[править] Факты

  • Согласно блогу автора игры, за два месяца в неё сыграло более 23 миллионов человек.[10]
  • В мае 2014 года была выпущена версия игры для iPhone и Android.[10][11]
  • Артемий Лебедев одобряет эту игру.[12]

[править] Галерея

[править] Ссылки

[править] Примечания

2048 относится к теме «Онлайн-игры»   ±