2D 포트폴리오 - 스톤에이지 모작 (9일차)

DevCho1107

·

2019. 11. 20. 17:59

일정

 

 

 

 

 

 

A*(에이스타)알고리즘 정리 

 

1. 시작노드는 언제나 플레이어의 좌표와 충돌되는 타일로 정한다.

2. 마우스로 클릭하는 노드는 도착노드이며, 바로 이동을 시작한다. 

3. 원하는 목적지까지 걸어가는 와중에도 다른곳을 클릭 시 도착노드가 바뀌며, 새로운 길을 찾는다. 

(이 부분에서 연산량을 줄이기 위한 방법 모색할 필요가 있다고 생각한다.)

4. 도착하게되면 오픈리스트, 클로즈리스트, 파이널리스트 벡터를 초기화해준다. 

(파이널리스트 벡터 : 경로에 포함된 타일 모두 포함)

 

 

 

 

 

플레이어와 맵 연동한 모습

 

 

 

 

 

 

언제나 클릭타일은 도착타일이다(이동불가 예외)

 

 

 

 

 

 

 

 

 

 

맵툴로 직접 만든 맵을 불러왔고, 출발점과 도착점 사이에 구조물이 있다.




 

구조물을 피해서 경로탐색








 

 

클래스 상호참조 및 스택구조에 대한 이해 

 

클래스간 상호참조 후 로직을 짜는 와중에, 흔히들 get,set 함수를 필요에 의해 만들어 사용하는데, 싱글톤 프레임워크에서, init 함수가 실행되는 부분에 다른클래스의 get,set 함수가 들어가 있다면, 

순서를 유의깊게 살펴야 할 필요가 있다. 

 

동적할당 -> init -> 상호 Link  : 링크 전 초기화하는 부분에서 겟셋함수를 가져다 쓰기때문에 오류 발생

동적할당 -> 상호 Link -> init  : 링크 후 초기화하는 부분에서 겟셋함수를 가져다 쓰기때문에 오류 미발생