Я программирую клон Tetris, и в своей игре я храню свои тетроминовые блоки как 4x4 массивы блоков. Теперь я должен иметь возможность поворачивать целые позиции в массивах, чтобы получить вращающийся блок тетриса. Я не могу просто повернуть текстуру, потому что все мое обнаружение столкновения и т.д. Было разработано для работы с 2D-массивом. Игра написана на С# с использованием XNA.
Как я могу повернуть свой 2D-массив из целых чисел на 90 градусов по часовой стрелке/против часовой стрелки.
Вот как мой блок L хранится в качестве примера.
0 1 0 0
0 1 0 0
0 1 1 0
0 0 0 0
Спасибо за вашу помощь.