void rotate() {
int rotation[USERBLOCK_SIZE][USERBLOCK_SIZE] = { 0, };
for (int i = 0; i < USERBLOCK_SIZE; i++) {
for (int k = 0; k < USERBLOCK_SIZE; k++) {
rotation[k][USERBLOCK_SIZE - i - 1] = userBlock[i][k];
}
}
for (int i = 0; i < USERBLOCK_SIZE; i++) {
for (int k = 0; k < USERBLOCK_SIZE; k++) {
userBlock[i][k] = rotation[i][k];
}
}
}
// 회전 시 충돌할 수 있는 상황에서는 이렇게 해보았습니다.
bool rotateDecision() {
for(int i = 0; i < USERBLOCK_SIZE; i++) {
for (int k = 0; k < USERBLOCK_SIZE; k++) {
if (userBlock[i][k] == 1 && (USERBLOCK_SIZE + blockX > GRID_WIDTH || blockX < 0)) return false;
if (userBlock[i][k] == 0 && gameGridData[i+blockY][k+blockX] == 1) return false;
}
}
return true;
}