강께르의 개발일지

[Project] 20210901_10일차 본문

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

[Project] 20210901_10일차

강께르 2021. 9. 2. 01:27

개발일지_210901_10일차

 

오늘 한 일

테스트 씬을 버리고 퍼사드 패턴을 이용한 게임 매니저 클래스를 구현

-> 게임과 관련하여 굴리는 것을 서브시스템으로 하여 멤버 변수로 만들고 그 내용을 이 매니저에서 굴리고 서로 정보를 교환한다.

 

플레이어 클래스 구현 및 게임 매니저 클래스에 플레이어 클래스 고정 배열 추가(1p, 2p)

 

유닛 클래스에 무기 클래스 고정 배열 추가(무기1, 무기2)

-> 나중에 전투 시스템 구현 시 무기 클래스의 멤버변수와 유닛 클래스의 멤버변수를 활용해 데미지 계산식을 만들 예정

 

플레이어에 따라 유닛 이미지를 다르게 렌더 구현 ( 1p RED, 2p BLUE )

 

턴제 개념 구현

-> 게임 매니저 클래스에서 특정 버튼을 누르면 현재 업데이트를 수행하는 플레이어를 고정 배열에서 갖고와 대입해 플레이어를 바꾸는 개념을 구현

-> 플레이어 클래스에 bool 변수를 만들어 그 bool 변수가 바뀌면 게임 매니저 클래스에서 현재 플레이어를 change해주는 방식으로 재구성할 것.

 

커맨드 히스토리 클래스 구현

-> 커맨드 클래스를 담을 vector를 관리하는 싱글톤 패턴 클래스

-> 특정 시점에서 command 포인터 변수에 동적 생성된 command 객체가 있다면 이를 히스토리 클래스에 add하여 저장

-> vector의 값을 pop하는 것으로 히스토리의 undo도 구현

-> 나중에 있을 리플레이 기능에 이용

 

에이스타 문제 해결

-> 이동 경로 덜 지정되거나 이동할 수 없는 타일을 리스트에 추가하는 문제

-> 한 유닛만 이동 시 잘 이동하지만 다른 유닛 이동 시, 무한 루프로 빠지거나 이동 자체가 안됨 -> 오픈리스트에 추가했다는 bool 변수들을 초기화하지 않아서...

 

이동 취소 문제 해결

-> 조건문 순서 문제였다.

 

이동 시 유닛의 연료 소비되게 하고 연료에 따라서 이동 범위도 설정되게 변경

 

내일 할 일

 

생산 시스템

-> 공장 건물을 누르면 생산 UI가 나오도록

-> UI 클래스를 구현하도록 하자

게임 매니저 옵저버 패턴을 추가적으로 재구성

이미 유닛이 있는 타일은 이동범위 제외되게 하기

유닛의 연료 값에 따라 이동범위가 변동되게 수정

플레이어 클래스에 bool 변수를 만들어 그 bool 변수가 바뀌면 게임 매니저 클래스에서 현재 플레이어를 change해주는 방식으로 재구성

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

[Project] 20210903_12일차  (0) 2021.09.04
[Project] 20210902_11일차  (0) 2021.09.03
[Project] 20210831_9일차  (0) 2021.09.01
[Project] 20210830_8일차  (0) 2021.08.31
[Project] 20210829_7일차  (0) 2021.08.30