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

Игра «Тетрис» · Шаг 1 из 9

Фигура

Фигура тетриса — это вид (буква: I, J, L, O, S, T, Z), форма — четыре клетки относительно её угла — и место в стакане. Её двигают, поворачивают, пробуют поставить; удобно, когда сдвиг не портит прежнюю фигуру, а даёт новую: тогда можно спокойно примерить ход и передумать.

Что сделать

Опишите фигуру тетриса, которую можно двигать и поворачивать, не портя прежнюю.

Что приходит

  • vid — буква фигуры: "I", "J", "L", "O", "S", "T" или "Z"

  • forma — четыре клетки (ряд, столбец) относительно угла фигуры

  • ryad и stolbec — где угол фигуры в стакане; если не передали — 0

Что должен уметь

Поля vid, forma (упорядоченная), ryad, stolbec; kletki() — клетки в стакане; sdvig(dr, dc) и povorot(povernut_formu) — новые фигуры, прежняя не меняется.

Допишите класс Figura в редакторе справа. Проверка создаёт его объекты и зовёт методы — то, что напечатано, на проверку не влияет.

В игре

Каждая падающая фигура — объект вашего класса: игра двигает её sdvig, поворачивает povorot и рисует по kletki(). Решите шаг — и фигуры начнут поворачиваться по стрелке вверх.

Без этого шага: фигура ходит, но не поворачивается.

Пример

Figura("T", [(1, 1), (0, 0), (0, 1), (0, 2)], 3, 4) — фигура «T» с углом в ряду 3, столбце 4. Форма хранится упорядоченной: [(0, 0), (0, 1), (0, 2), (1, 1)], а kletki() прибавляет к ней место: [(3, 4), (3, 5), (3, 6), (4, 5)].

Тот же пример кодом
Перед вызовом
f = Figura("T", [(1, 1), (0, 0), (0, 1), (0, 2)], 3, 4)
Вызов
(f.vid, f.forma, f.ryad, f.stolbec, f.kletki())
Вернуть
('T', [(0, 0), (0, 1), (0, 2), (1, 1)], 3, 4, [(3, 4), (3, 5), (3, 6), (4, 5)])

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

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

Обсуждение

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

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