Игра «Тетрис» · Шаг 2 из 9
Повернуть форму
Поворот фигуры — это поворот её формы на четверть оборота по часовой стрелке. Клетка уезжает: что было внизу слева, становится вверху слева. А чтобы форма не уползала в минус, после поворота её прижимают к верхнему левому углу.
Что сделать
Поверните форму фигуры на четверть оборота по часовой стрелке — и прижмите её к углу.
Что приходит
forma— список клеток(ряд, столбец)
Что вернуть
Повёрнутую форму по рядам и столбцам: клетка (r, c) переходит в (c, niz − r), niz — наибольший ряд, потом наименьшие ряд и столбец — ноль.
Допишите функцию povernut_formu в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В игре
Игра отдаёт эту функцию методу povorot вашей фигуры при каждом нажатии стрелки вверх. Решите шаг — и фигура при повороте будет менять форму.
Без этого шага: форма после поворота та же.
«T» лёжа — [(0, 0), (0, 1), (0, 2), (1, 1)], niz = 1. Клетки уходят в (0, 1), (1, 1), (2, 1) и (1, 0): фигура встала на бок — [(0, 1), (1, 0), (1, 1), (2, 1)].
povernut_formu([(0, 0), (0, 1), (0, 2), (1, 1)])
[(0, 1), (1, 0), (1, 1), (2, 1)]
Функция принимает форму — список клеток (ряд, столбец).
Возвращает форму, повёрнутую на четверть оборота по часовой стрелке:
niz— наибольший ряд формы;- клетка
(r, c)переходит в(c, niz − r); - всё сдвигается так, чтобы наименьший ряд и наименьший столбец стали нулём. Ответ — список кортежей, упорядоченный по рядам и столбцам.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.