찾으시는 취미가 있나요?

void rotate() { int tempBlock[USERBLOCK_SIZE][USERBLOCK_SIZE] = { 0, }; for (int i = 0; i < USERBLOCK_SIZE; i++) { for (int k = 0; k < USERBLOCK_SIZE; k++) { tempBlock[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] = tempBlock[i][k]; } } } 그리고 회전이 너무 빨리 되므로 next함수에 if (keyboardInput == 'w' && controlCheck > 0.1) { rotate(); controlCheck = 0.0f; } 를 넣어주면 적당한 속도로 돌아갑니다 그리고 이 상태라면 블록을 x축의 맨 끝 부분에 놓고 돌리면 배열 밖으로 나가므로 bool canRotate() { for (int i = 0; i < USERBLOCK_SIZE; i++) { for (int k = 0; k < USERBLOCK_SIZE; k++) { if (userBlock[i][k] == 1 && USERBLOCK_SIZE - i - 1 + blockX <= 0) return false; if (userBlock[i][k] == 1 && USERBLOCK_SIZE - i - 1 + blockX >= GRID_WIDTH) return false; } } return true; } 이런 함수를 만들고 next함수의 rotate부분을 if (keyboardInput == 'w' && canRotate() && controlCheck > 0.1) { rotate(); controlCheck = 0.0f; } 로 바꿔줍니다
♡0
0

댓글0

클래스101은 모든 사람이 사랑하는 일을 하며
살 수 있도록 세상을 바꾸고자 합니다.
크리에이터
정규 클래스 지원하기
도움말
고객센터
오전 10시 ~ 오후 6시 (주말, 공휴일 제외)
주식회사 클래스101 | 대표 공대선 | 서울특별시 강남구 테헤란로 415, 4층(삼성동, 엘7강남타워) | ask@101.inc | 전화번호: 1800-2109 | 클라우드 호스팅: Amazon Web Services Korea LLC | 사업자등록번호 : 457-81-00277 | 통신판매업신고 : 2022-서울강남-02525 | 클래스101은 통신판매중개자로서 중개하는 거래에 대하여 책임을 부담하지 않습니다.