Post

[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 즉 클라이언트 로직을 제외하고 도메인 로직만 설계해보면 이정도면 충분할 것 같다.

  1. Tetromino - 테트로미노 한개 (타입, 회전 상태, 위치)
  2. TetrominoType - 테트로미노의 종류와 회전 형태 정보
  3. TetrisBoard - 테트로미노를 쌓을 board
  4. TetrisGame - 게임 로직 전체를 관리를 관리하는 역할

마치며

시간이 촉박하기 떄문에 일단 클라이언트 로직을 제외하고 설계를 마쳐야할 것 같다. 기간 내에 기본 기능까지 완성시킬 수 있을지 미지수이지만 한번 도전해봐야겠다.

This post is licensed under CC BY 4.0 by the author.