TIL - TextRPG 수정하기

Amberjack·2024년 1월 12일
0

TIL

목록 보기
17/83
post-thumbnail

📖 24.01.12 TextRPG의 DungeonManager 수정

Map.cs에서 던전 스테이지를 호출할 때, SelectDungeonStage(int stage)의 매개변수 stage(1 ~ 3) 값에 -1을 하여 dungeons[] 배열을 0번부터 호출하려 했다.

public int dungeonStage = 0;

public void SelectDungeonStage(int stage)
{
	dungeonStage = ++stage;
	MakeMonsters(dungeons[dungeonStage].dungeonMonsterType);
}

를 통해 0 ~ 2번 배열을 호출하려 했으나, stage값이 계속해서 감소를 하여 dungeonStage의 값이 3 이상으로 넘어가 에러가 출력되는 문제가 발생했다.

해당 문제로 인해 왜 인지는 모르겠지만 ShowResult()가 계속해서 쌓여서 출력되는 문제까지 함께 발생했다. 나는 while문과 재귀 때문에 생기는 문제인 줄 알았으나, 왜 인지는 모르겠지만 해당 stage 값 문제를 수정하니 함께 해결된 듯 하다.

😥 해결...?

내가 while문으로 쩔쩔 매는 동안, 팀원분이 해당 문제를 해결해 주셨다. dungeonStage가 3이상이 되지 않도록 예외 처리를 하셨더니 문제가 해결되었다.

if (dungeonStage >= 3) dungeonStage = 3;

dungeonStage의 값이 문제가 되는 것은 이해가 되는데, 해당 문제로 인해 ShowResult()가 계속해서 출력되던 것 까지 해결된 이유를 나는 도통 모르겠다....

내가 생각한 경우는, dungeonStage 값에 이상한 값이 계속해서 들어가자 던전 매니저가 여러 번 생성이 된 걸까? 모르겠다...

🫠 오늘의 회고

오늘 하루 종일 씨름하다 팀원과 내 문제를 공유해서 문제를 해결할 수 있었다. 아니였으면 계속 끙끙 앓다가 마감일이 되었을지도... 확실히 협업을 하는 이유를 알겠다. 내가 못 찾은 해결 방법을 찾아주실 수도 있으니까!

그리고 제일 중요한 것은,

📌 예외 처리를 습관화하자!

이번 문제도 dungeonStage의 값을 내가 사전에 제한해두었다면 예방할 수 있었을 문제다. 예외 처리를 습관화하자!

0개의 댓글