본문

[2017.10.05] 37. Android 테트리스 프로젝트 [랜덤 블록 생성]

도입

역시 처음 설계하는 일이 가장 어려우면서 재미있다. 토이 프로젝트임에도 불구하고 이렇게 생각할게 많은지... 

이번 포스팅에서는 Block을 랜덤으로 생성해 MainStage와 PreviewStage에 그려주는 단계를 진행할 예정이다.



Android 테트리스 프로젝트 [랜덤 블록 생성]의 설계와 데이터 흐름

설계라고 보기에는 너무 간단하다. 그림으로 생각정리라고 하는게 좋을거 같다.

기본적으로 총 4개의 객체가 필요할 것이라고 생각한다. 그리고 버튼 클릭에 대한 리스너는 MainActivity에 정의했다.

버튼 클릭에 대한 리스너는 MainActivity에서 독립 시키는 방법은 생각해봐야겠다. 프로젝트를 진행하며 필요하면 수정할 예정이다.

Block, MainStage, PreviewStage, 버튼 클릭의 변경사항은 Controller 객체에 기록되고 View 객체를 상속 받은 Board객체를 통해 그려진다.



문제점

상대 좌표를 설정하는 것이 복잡했다. Board를 통해 한번에 그려지는데 Block과 Stage 좌표들을 계산하는 것이 복잡했다. 1개의 좌표로 정리할 수 있는 방법을 찾아봐야겠다.



스크린 샷



#안드로이드 프로젝트 #안드로이드 테트리스 #tetris #테트리스 프로젝트

공유

댓글