int main()
{
DetectCollision(10, 0, blockModel[block + blocknum]);
}
int DetectCollision(int posX, int posY, char blockModel[][4])
{
int x, y;
int arrX = (posX - 4) / 2;
int arrY = posY - 2; <<------------------ 이 부분
for (x = 0; x < 4; x++)
{
for (y = 0; y < 4; y++)
{
if (blockModel[y][x] == 1 && gameBoardInfo[arrY+y][arrX + x] == 1)
return 0;
}
}
return 1;
}
C 프로그래밍 파워 업그레이드를 보면서 테트리스를 개발 중인데요. 답안을 보고 비교하려니 답안에서는 처음 posY부분이 0으로 복사되고 - 2를 하는데 그렇게 되면 수가 -2가 되어서 오류가 발생해야 하는게 아닌가요? 근데 전혀 오류가 없고 오히려 작동이 잘되네요? 왜 그런지 도저히 모르겠는데, 설명해줄 능력자분 도와주세요!
arrY가 음수일때는 blockModel[y][x] 가 1이 아닌가보지 뭐.
저도 처음에 그런 줄 알았는데 아니더라구요..