Игра «2048» · Шаг 2 из 5
Повернуть поле
Писать сдвиг четыре раза — влево, вправо, вверх, вниз — скучно и опасно: где-нибудь ошибёшься в индексах. Проще научиться поворачивать поле: повернул — сдвинул влево — повернул обратно.
Что сделать
Поверните поле на четверть оборота по часовой стрелке — чтобы сдвигать в любую сторону одним сжатием влево.
Что приходит
pole— список рядов одной длины; менять его нельзя
Что вернуть
Новое поле — список рядов-списков: левый столбец снизу вверх стал верхним рядом; [[1, 2], [3, 4]] — [[3, 1], [4, 2]].
Допишите функцию povernut в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В игре
Поворот нужен третьему шагу: чтобы сдвинуть вверх, вниз или вправо, поле поворачивают, сдвигают влево и поворачивают обратно. Решите шаг — и заработают все четыре стрелки, а не одна.
Без этого шага: поле не поворачивается — вверх, вниз и вправо плитки едут влево.
povernut([[1, 2], [3, 4]])
[[3, 1], [4, 2]]
Функция принимает поле — список рядов, ряды одной длины. Возвращает новое поле, повёрнутое на четверть оборота по часовой стрелке: левый столбец снизу вверх становится верхним рядом слева направо. Ряды ответа — списки. Переданное поле не меняется. Поле может быть и не квадратным: из 2 рядов по 3 выходит 3 ряда по 2.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.