원래 4*4배열에 블록모양 때려박고 4*4칸 통째로 회전시킬라했는데
블럭모양 중심으로 회전하는게 아니니까 왓다리갓다리 하드라구요
그래서 블록회전시키는 다른방법을 찾아보니까 Bitmask방법이라는걸 찾았는데 개신기하네요.
님들은 무슨방법으로 하셨나여
원래 4*4배열에 블록모양 때려박고 4*4칸 통째로 회전시킬라했는데
블럭모양 중심으로 회전하는게 아니니까 왓다리갓다리 하드라구요
그래서 블록회전시키는 다른방법을 찾아보니까 Bitmask방법이라는걸 찾았는데 개신기하네요.
님들은 무슨방법으로 하셨나여
안해봄
블록마다 회전축을 정하고 그거에 맞춰서 돌렸던걸로 기억하는데. 그리고 좌, 우 충돌 체크해서 돌아가는 여부 정하고.
4방향때려박기
ㄴ 자라고 치면 (x,y)라 할 때 (0,0),(0,1),(1,0),(2,0) 이렇게 나타내서 화면에 뿌릴 때 저 좌표 그냥 더해주는 방식으로 함.. 아마 나중에 3D 프로그래밍 배우면 로컬좌표라는 개념임. 4x4 배열로 회전방향 4개 다 만들려면 (4x4배열) x 4개, 많이 필요한데 .. 위에 로컬좌표 개념으로 만들면 한방향당 4개(x,y좌표) x 4개회전 = 16개면 됨
충돌검사할때도 쉬움 4개(x,y)좌표 따라서 루프만 돌아줘서 현재 블럭이 있는 지점 (x,y)에서 블럭 (x,y)좌표 4개만 루프문으로 돌면서 if문으로 해당지역에 다른 블럭 있냐 검사해서 있으면 굳혀버리고 없으면 아래로 한단계 내려가는식으로 했던 기억이남