응애맘마조

230202 강의 본문

공부/2D강의

230202 강의

TH.Wert 2023. 2. 2. 23:38

먼저 강의 내용에 앞서 제 생일을 많은 분들이 축하해 주셨네요. 감사합니다.

 

어제의 타일맵 에디터에 이어서 맵 상태를 저장하는 세이브와 로드에 대해 배웠습니다.

 

먼저 세이브입니다.

세이브는 경로를 지정해서 파일로 저장을 하게 됩니다. 저장을 해서 파일로 내보내기 때문에 송출을 사용하게 됩니다. 따라서 변수 이름을 fout으로 지정하고 string으로 경로를 코드로 작성해서 콘솔창이 아닌 txt파일로 저장했습니다.

이 txt파일을 열게 되면 어떤 내용들이 적혀있는지 타일 사이즈부터 해서 인덱스랑 프레임 값 등등 타일맵을 구성하고 있는 모든 값들을 저장하게 됩니다. 원래 저장을 할 때 토큰을 따로 사용을 합니다. 하지만 굉장히 까다롭기 때문에 구성하고 있는 값들을 공백값. 즉, 스페이스바로 구분을 하기로 했습니다. 이렇게 세이브 파일을 열면 close 함수를 해서 닫아줘야 됩니다.

 

로드에선 fin을 변수 이름으로 사용하기로 했습니다. 세이브와 같이 string을 사용해서 경로를 지정했습니다. 하지만 이번에는 temp변수를 사용했습니다. TileSize나 인덱스나 이미지 파일이라는 글자들은 굳이 따로 저장을 하지 않아도 되기 때문에 버리는 변수로 나타내고 값을 불러옵니다. 물론 사용하지 않아도 되지만 사용을 하지 않으면 구별이 되지 않기 때문에 temp를 사용해서 지금 이 값이 어떤 것을 저장했는지 나타내기 위함입니다. 물론 코드로 세이브를 하지 않고 메모장에서 직접 값을 수정하여 저장할 수도 있습니다.


다음 A*(에이스타)에 대해 잠깐 했었습니다.

A*는 길 찾기 알고리즘입니다. 정확히는 어느 지점(A)에서 다른 지점(B)까지의 최단거리를 찾는 알고리즘입니다. 특히 내비게이션에서 많이 사용됩니다. 그렇기 때문에 최소비용으로 길을 찾게 됩니다. 경로를 채점해서 비용이 커질 경우 갱신을 하지 않습니다. 우선순위 큐와 힙을 사용합니다.

 

사실 A*는 내일 자세히 배우기로 했습니다. 오늘은 조금 알아보기 형식으로 조금이나마 예습을 하기 위해 조금 알아보았습니다.

읽어주셔서 감사합니다.

'공부 > 2D강의' 카테고리의 다른 글

230206 강의  (0) 2023.02.06
230203 강의  (0) 2023.02.03
230201 강의  (0) 2023.02.01
230131 강의  (0) 2023.01.31
230130 강의  (0) 2023.01.30