강께르의 개발일지

[Project] 20210825_3일차 본문

프로젝트/210823~210910_개인프로젝트

[Project] 20210825_3일차

강께르 2021. 8. 26. 00:53

개발일지_210825_3일차

 

 오늘 한 일

- 맵툴 세부 구현

-> 원래 계획인 인게임 타일 찍기를 후순위로 두고 임시로 서브창을 만들어 맵툴을 구현

-> 키보드 입력을 통한 타일 찍기 기능 추가

세이브, 로드 기능을 구현하는 중이다. 이전 게임 개발에 쓰인 기능을 가져왔지만 구조체와 클래스의 차이인지 저장하고 불러온 클래스가 nullptr이거나 참조 범위 오류를 뜨게 된다. 내일 다시 처음부터 기능 구현하여 원인을 분명히 할 수 있도록 한다.

- 카메라 구현

커서에 의한 카메라 움직임을 구현

 

 

내일 할 일

- 맵툴 세이브, 로드 기능 마무리

- 유닛 클래스 구현 및 임시 유닛 생성

- 커서로 유닛 선택을 통한 이동 기능 구현

+ 에이스타 알고리즘 적용

 

오늘 기록 사항

- map 클래스는 타일맵 전체에 대한 정보를 지닌 클래스이다.

- map 클래스의 tile 클래스 고정배열은 타일 하나에 대한 enum 값들을 가지고 있다. enum 값에 따라 화면에 타일의 렌더를 담당한다.

- environment 클래스 벡터는 지형에 대한 벡터이다. 지형에 대한 정보를 갖는 envir 클래스를 벡터에 넣고 관리한다. 하지만 모든 타일은 이 게임의 지형에 관련하여 정보를 갖는다. 지형이 주는 방어 보너스, 보병만 가는 지형, 차 종류는 못 가는 지형이라는 속성 등

- 이걸 environment 클래스로 타일만큼 벡터에 추가하여 관리하는 게 맞을지 맵 하나당 타일 600개여서 600개의 지형이 될텐데, tile 클래스와 기능을 합치는 건 어떨지

- building 클래스는 isFactory, isHQ이라는 bool 변수를 통해 기능을 결정할 클래스이다. 하지만 아직 그에 대한 기능은 미구현. 현재는 map 클래스의 building 클래스 벡터로 관리되고 있으며 타일을 찍으면 벡터에 추가하고 다른 타일을 찍으면 벡터에서 제거하고 추가하는 방식으로 동작

 

- 카메라를 옵저버 패턴으로 구현할 가능성이 있다.

- 맵툴 클래스의 커서의 좌표가 변경이 되면

- 카메라 클래스를 옵저버로 하여 그 정보를 전달받는 형태로 만든다.

- 나중에 옵저버 패턴을 이용해 UI 관련하여 커서의 위치에 따라 UI를 다르게 그려주는 것으로 응용할 수 있지 않을까?

'프로젝트 > 210823~210910_개인프로젝트' 카테고리의 다른 글

[Project] 20210827_5일차  (0) 2021.08.28
[Project] 20210826_4일차  (0) 2021.08.27
[Project] 20210824_2일차  (0) 2021.08.25
[Project] 20210823_1일차  (0) 2021.08.24
[Project] 20210822_0일차  (0) 2021.08.24