어떻게 풀어야하는지 감도 안잡혔었는데 다른 사람 풀이를 참고해보니 피보나치 수열이었다..
값의 패턴을 잘 파악하고 익혀놓는게 얼마나 중요한지 다시금 깨닫게 되었다..
[팀 프로젝트]
필드 이동 구현 완료!!!!
주말 내내 시간을 투자해본 결과 에이스타 알고리즘을 이용하면 더 복잡하고 게임과 안맞아진다
그래서 SRPG식 이동 구현 레퍼런스를 조사해보고 새로운 알고리즘을 만들게 되었다.
구현한 방식은 아래와 같다.
0. 기본 필드의 상태
1. 현재 Player에 해당하는 Ttile부터 Movable 리스트에 넣는다. 이때, 이동 코스트는 0이다.
2. Movable 리스트안의 Tile수만큼 각 Tile의 상하좌우로 조사하여 이동 가능한 타일을 Movable 리스트에 넣고 상태를 변환한다.
3. 2번 과정을 PlayerTurnIndex 만큼 반복하면 플레이어는 PlayerTurnIndex만큼 이동할 수 있다.
여기서 이동을 하면 PlayerTrunIndex에 Cost를 빼고 해당 값이 0이 아니라면 턴을 유지하고
0이 되면 더이상 이동할 수 없는 상태이므로 턴을 넘긴다.
4. 이동 가능한 empty 상태의 Tile에서만 이동 반경을 넓히고 상호작용이 가능한 Town, Monster, Chest나 이동 불가능한 Wall Tile과 마주할 경우 상태변경만 하고 이동 반경을 넓히지 않으면 완성
실제 적용 사진
뚫린 지형이 많은 필드보다는 좁고 막힌 벽이나 몬스터가 많은 던전에서 해당 기능이 확실하게 빛을 본다.
이외에는 리팩토링을 통해 코드를 간결하게 정리하는 작업을 조금 진행했고 타이틀 씬을 간단하게 제작했다.
일단은.. 팀원들과 상담없이 Title을 만들었는데 잭팟 히어로로 제목이 괜찮을지 내일 회의해봐야할것같다. 아니라면.. 다른걸로 바꾸지 뭐..
컨셉 기획서도 수정하며 이번주내로 게임내 필요한 모든 기능이 구현되기를 바란다..
'일일학습일지' 카테고리의 다른 글
2024-04-03 학습일지 (0) | 2024.04.03 |
---|---|
2024-04-02 학습일지 (0) | 2024.04.02 |
2024-03-29 학습일지 (0) | 2024.03.29 |
2024-03-28 학습일지 (1) | 2024.03.28 |
2024-03-27 학습일지 (1) | 2024.03.27 |