void rotate() {
//회전 구연
int cpyBlock[USERBLOCK_SIZE][USERBLOCK_SIZE] = { 0, };
for (int i = 0; i < USERBLOCK_SIZE; i++) {
for (int k = 0; k < USERBLOCK_SIZE; k++) {
cpyBlock[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] = cpyBlock[i][k];
}
}
}
bool canLotate() {
if (blockX + USERBLOCK_SIZE > GRID_WIDTH || blockY + USERBLOCK_SIZE > GRID_HEIGHT) return false;
for (int i = 0; i < USERBLOCK_SIZE; i++) {
for (int k = 0; k < USERBLOCK_SIZE; k++) {
if (userBlock[i][k] == 1 && gameGridData[blockY + k][blockX + USERBLOCK_SIZE - i - 1] == 1) return false;
}
}
return true;
}
처음에 배열 숫자 하나하나 다 쳐서 만들었다가, 고민 끝에 반복문으로 회전 할 수 있는 방법을 깨닫고 엄청 기분 좋았습니다 ㅋㅋ
회전 할 때 이미 블럭이 있는 곳에도 들어가길래 회전하기 전에 블록이 있는지 비교 할 수 있도록 만들어 보았습니다.