TGViewer
Java Ready | Программирование Java Ready | Программирование @java_ready · 9.25K subscribers
Post #1822 1.75K
2048 в консоли!

Игра 2048 это поле 4×4, где одинаковые числа объединяются при движении. Игрок двигает плитки, числа складываются, а после каждого хода появляется новая плитка.

Создаём игровое поле 4×4:
int[][] board = new int[4][4];


Функция для печати поля:
void print() {
for (var r : board) {
for (var c : r) System.out.printf("%4d", c);
System.out.println();
}
}


Добавляем случайную плитку (2 или 4):
var rnd = new java.util.Random();
int x = rnd.nextInt(4), y = rnd.nextInt(4);
board[x][y] = rnd.nextDouble() < 0.9 ? 2 : 4;


Движение плиток влево:
for (int i = 0; i < 4; i++) {
for (int j = 1; j < 4; j++) {
if (board[i][j] != 0 && board[i][j - 1] == 0) {
board[i][j - 1] = board[i][j];
board[i][j] = 0;
}
}
}


Пробуем один игровой ход:
print();
System.out.println("Движение влево");


Пример поля:
   2   0   0   0
4 2 0 0
0 0 2 0
0 0 0 0


Получается простая версия 2048 прямо в терминале, которая идеально подходит для разработки новичком.

👉 Java Ready | #практика
  • ❤ 11
  • 👍 4
  • 🔥 4
  • 👎 1
More from @java_ready
  1. Oct 8, 2026Почему String.format может заменить точку на запятую? Представим, что программа сохраняет…
  2. Oct 7, 2026Почему split(".") в Java не делит строку по точке? На первый взгляд кажется, что достаточн…
  3. Oct 6, 2026Безопасная настройка retry для всей системы! В статье Java-разработчик делится опытом внед…
  4. Oct 5, 2026Почему после Stream.toList() нельзя добавить элемент? При работе со Stream часто нужно соб…
  5. Oct 5, 2026Находим три самых популярных товара! Есть поток покупок с повторяющимися названиями. Постр…
  6. Oct 2, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →