반응형

 

 

 

 

 

 

제작 기간

- 오목 : 2일

- 데이터 저장, 파일 입출력 적용에 따른 기존 코드 수정 : 2일

- 총 4일

 

 

 

 

게임 클래스 구성

 

 

 

 

GameManager

- 클래스 멤버는 Player를 가지고있고, 나머지는 바둑판의 가로와 세로, 되돌리기 수, 턴 수, 돌과 커서 종류, 플레이모드 멤버 변수를 가지고 있다.

- Main함수에서 GameManager의 객체를 생성한 뒤, 게임을 시작하게된다.

- 각 화면은 정적 클래스(MapDraw)에 화면을 그리는 함수를 구성해서 GameManager에서 호출하여 그린다.

- 게임이 중간에 게임을 그만두거나, 한판 이상 마무리된 게임에 대해 정보를 txt파일로 저장하고 불러올 수 있다.

 

 

 

Player

- 구조체 멤버 Stone을 가지고 있고, 나머지는 커서 위치, 무르기 수, 돌을 둔 기록(리스트), 리플레이 기록(리스트)를 멤버로 가지고 있다.

- Player에서 키 입력을 받아서 커서를 움직인다.

- 각 리스트 멤버는 게임 중간에 그만두거나, 한판 이상 마무리 되었을때 데이터를 저장하기 위한 멤버이다.

 

 

 

Stone

- 돌이 두어진 좌표를 멤버로 가지고 있다.

 

 

 

MapDraw

- 화면에 게임을 그리기 위한 함수들을 정의해 놓았다.

- 콘솔 좌표를 이동시키기, 바둑판 그리기, 바둑알 그리기, 커서 그리기 등의 기등이 정의되어있다.

 

 

 

Replayer

- 플레이어 이름, 돌 모양 정보, 돌을 둔 좌표 구조체(Stone)리스트를 멤버로 가지고 있다.

- GameManager에 멤버로 있지 않고, 게임 내에서 다시보기 기능을 실행할 때 지역변수로 선언된다.

 

 

 

저장되어있는 데이터 구조

- 플레이중 데이터와 게임이 끝난 데이터 2가지를 저장한다.

 

 

 

 

 

반응형

'Game > Personal development' 카테고리의 다른 글

[WIN API] 서커스 찰리 게임  (0) 2022.02.05
[WIN API] 카드 맞추기 게임  (0) 2022.01.30
산성비 게임 제작 (C++)  (4) 2022.01.23
RPG 게임 제작 (C++)  (0) 2022.01.22
뱀 게임 제작 (C++)  (0) 2022.01.22

+ Recent posts