[Techris] 4. Techris를 설계해보자
Techris 개발기 — Techris를 설계하며
[Techris] 4. Techris를 설계해보자
들어가며
기본적인 문법 학습을 마치고 Techris를 구현하기 전에 설계 과정을 기록하려한다. 일단 테트리스의 기본적인 기능을 빠르게 만들어야하기 때문에 모든 기능의 세부내용들을 설계하는 대신 전체적인 큰 틀을 먼저 설계하려고 한다.
Techris
일단 3주차 미션까지 해왔던 것 처럼 테트리스에 필요한 객체들과 기능들을 동사와 명사로 분리해보면 될 것 같다. 일단 기본적으로 떠오르는 하나의 블록 즉 테트로미노는 I,O,T,S,Z,J,L 이정도 있으니 그걸 타입으로 분리해서 설계해보자.
객체 후보군(명사)
- 테트로미노 (블록)
- 테트로미노 타입 (I, O, T, S, Z, J, L)
- 보드 (게임판)
- 셀 (보드의 각 칸)
- 회전 상태
- 위치
- 줄
- 게임 상태
행위 후보군(동사)
- 테트로미노, 보드 생성
- 왼쪽, 오른쪽, 아래 이동
- 테트로미노 회전
- 꽉 찬 줄 제거
- 이동할 수 있는지 검증
- 테트로미노 충돌
- 게임오버 판정
일단 View 즉 클라이언트 로직을 제외하고 도메인 로직만 설계해보면 이정도면 충분할 것 같다.
- Tetromino - 테트로미노 한개 (타입, 회전 상태, 위치)
- TetrominoType - 테트로미노의 종류와 회전 형태 정보
- TetrisBoard - 테트로미노를 쌓을 board
- TetrisGame - 게임 로직 전체를 관리를 관리하는 역할
마치며
시간이 촉박하기 떄문에 일단 클라이언트 로직을 제외하고 설계를 마쳐야할 것 같다. 기간 내에 기본 기능까지 완성시킬 수 있을지 미지수이지만 한번 도전해봐야겠다.
This post is licensed under CC BY 4.0 by the author.