Войти Создать аккаунт

Игра «2048» · Шаг 1 из 5

Сжать ряд

Вся «2048» держится на одном движении: ряд плиток сдвигается влево, пустые клетки уходят вправо, а две одинаковые плитки, оказавшиеся рядом, сливаются в одну вдвое больше. Хитрость в том, что плитка, получившаяся слиянием, за этот же ход второй раз не сливается.

Что сделать

Сдвиньте ряд плиток влево по правилам 2048 — с одним слиянием на плитку за ход.

Что приходит

  • ryad — ряд поля, список целых: 0 — пусто, остальное — плитки

Что вернуть

Пару (новый ряд той же длины, очки): плитки прижаты влево, одинаковые соседние слились, очки — сумма получившихся слиянием; [4, 4, 8, 0] — ([8, 8, 0, 0], 8).

Допишите функцию szhat_ryad в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В игре

Через szhat_ryad идёт каждый ход: третий шаг сжимает ею все ряды поля, а очки прибавляются к счёту. Решите шаг — и одинаковые плитки начнут сливаться.

Без этого шага: плитки сдвигаются, но не сливаются.

Пример

[2, 2, 2, 2]: первая пара двоек сливается в 4, вторая — тоже в 4, а получившиеся четвёрки за этот ход больше не сливаются. Ответ — ([4, 4, 0, 0], 8).

Тот же пример кодом
Вызов
szhat_ryad([2, 2, 2, 2])
Вернуть
([4, 4, 0, 0], 8)

Готовая игра →

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.