떨어지는 블럭의 위치를 기준으로 체크를 합니다. 이게 하나가 블럭이 떨어진
경우는 쉽게 처리가 가능한데
만약 상쇄되어 여러개가 그 밑으로 내려가서 반응하는 경우를 어렵게 생각하실거 같습니다만
모두를 하나씩 생각한다면 어렵지 않습니다.
일단 기본방법은 주위의 블럭을 비교해서 같은 것인지 체크를 합니다. 2차원 배열을 하나 만들어서 없어져야 할 블럭칸을 마킹 합니다.
마킹하고 또 주위 블럭을 검사하고 마킹합니다. 마킹한 블럭은 검사할 필요 없죠. 재귀호출 함수나 길찾기 알고리즘을 이용할 수 도 있습니다.
그래픽툴에서 색칠하기 공식도 유사하구요. 이렇게 해서 1단계 마킹처리가 끝나면 그 마킹된 위치의 블럭들을 없애는 처리를 합니다.
그러면 블럭사이에 빈 공간이 생길 수 있는데 블럭을 내리고 블럭의 칸들을 하나씩 검사해서 위 과정을 뒤풀이 합니다.
'잡다한것들전부 > 팁' 카테고리의 다른 글
| 배경 무한 스크롤링 (0) | 2013.12.11 |
|---|---|
| 포물선 운동 관련 소스 (0) | 2013.12.10 |
| 헥사 게임 알고리즘 (0) | 2013.12.03 |
| 비쥬얼드 로직 (0) | 2013.12.02 |
| 비쥬얼드 3개 블록 맞추는 로직 (0) | 2013.12.02 |
| cocos2d-x 3.0 관련 컴포넌트 사용 (0) | 2013.12.02 |
Trackback 0 And
Comment 0


