확실히 직접 해보니까 따라 치는 건 아무것도 안하는 거였네요 ㅋ큐ㅠㅠ,,
void rotate() {
// 회전을 구현해 보세요.
// 사용하는거 userBlock
int tmp[USERBLOCK_SIZE][USERBLOCK_SIZE] = { 0, };
for (int i = 0; i < USERBLOCK_SIZE; i++) {
for (int k = 0; k < USERBLOCK_SIZE; k++) {
tmp[i][k] = userBlock[USERBLOCK_SIZE - k - 1][i];
}
}
for (int i = 0; i < USERBLOCK_SIZE; i++)
for (int k = 0; k < USERBLOCK_SIZE; k++)
userBlock[i][k] = tmp[i][k];
}
bool canRotate() {
for(int i = 0; i<USERBLOCK_SIZE; i++)
for (int k = 0; k < USERBLOCK_SIZE; k++) {
if (userBlock[i][k] == 1 && k + blockX + 1 > GRID_WIDTH - 1) return false;
if (userBlock[i][k] == 1 && k + blockX - 1 < 0) return false;
if (userBlock[i][k] == 1 && gameGridData[i + blockY][k + blockX - 1] == 1) return false;
if (userBlock[i][k] == 1 && gameGridData[i + blockY][k + blockX + 1]) return false;
}
return true;
}