글
테트리스 ver 0.3 의 요구사항은 다음과 같습니다.
-> 블럭 타입 추가 및 색상 추가 (랜덤)
-> 속도 레벨 및 UI 변경
먼저, 프로젝트 설계에 앞서, 위의 요구사항들을 해결하기 위한 방안을 생각해 보겠습니다.
[요구사항 1. 블럭 타입 추가 및 색상 추가 (랜덤)]
사실 ver 0.1 에서 원래 테트리스의 총 블럭 타입 7 개 중에, 한 블럭 타입을 누락시켰었습니다. 위의 그림을 보면 4 번 블럭이 빠졌었는데, 이번 버전에는 빠진 4 번 블럭을 추가하였습니다.
그리고, 이전 버전까지는, 블럭들에 색상이 없이 모두 같은 흰색으로 표현되었었는데, 이번 버전부터는 각 블럭당 자신만의 색삭을 가질 수 있도록 변경하였습니다.
기존 Block 구조체에 색상을 저장할 수 있는 변수를 추가하고 (int 형 변수 color) 이 변수를 통해서 현재 블럭의 색상을 관리하도록 하였습니다.
위의 표는 프로그램 내에서 정의된 색상을 나타내는 상수와 그 실제 정수값입니다. (열거형 상수라서) 0 부터 15 까지의 값을 가지고 색상을 표현할 수 있고, 이 색상 중에서, 랜덤하게 한 색상을 추출하여 새로 생성되는 블럭에 그 추출된 색상을 설정하는 방식으로 진행됩니다. 그리고 실제 테트리스 판과 블럭들을 출력할 때에, 현재 움직이는 블럭의 색상을 확인하여 (color 변수를 통해서) 콘솔 커서의 색상을 바꿔서 출력합니다.
[요구사항 2. 속도 레벨 및 UI 변경]
이 요구사항은, 알고리즘이 변경되거나 특정 기법이 추가된 것이 아니므로, 따로 해결 방법을 자세히 다루지는 않겠습니다.
'1.2) 프로젝트 > 테트리스' 카테고리의 다른 글
테트리스 ver 0.3 (7) - 소스코드 구현 (TetrisManager) (0) | 2015.08.21 |
---|---|
테트리스 ver 0.3 (6) - 소스코드 구현 (Block) (0) | 2015.08.21 |
테트리스 ver 0.3 (5) - 소스코드 구현 (Util) (0) | 2015.08.21 |
테트리스 ver 0.3 (4) - 소스코드 변경 내역 (0) | 2015.08.20 |
테트리스 ver 0.3 (3) - 프로그램 설계 (Use Case, Class, Sequence) (0) | 2015.08.20 |
테트리스 ver 0.3 (1) - 실행 결과 & 프로젝트 개요 (10) | 2015.06.17 |
테트리스 ver 0.2 (8) - 개발 완료 / 후기 (0) | 2015.06.14 |
테트리스 ver 0.2 (7) - 소스코드 구현 (Main) (0) | 2015.06.14 |
테트리스 ver 0.2 (6) - 소스코드 구현 (TetrisView) (0) | 2015.06.13 |
테트리스 ver 0.2 (5) - 소스코드 구현 (TetrisManager) (0) | 2015.06.13 |
RECENT COMMENT