본문 바로가기
제출용/TIL

내일배움캠프 15일차 TIL + 퀘스트 입장에 드디어 성공

by 유린테 2024. 5. 3.

퀘스트 시작부분을 만들어 놓고, 이제 각 퀘스트로 이동을 해야 하는데

퀘스트 들어가기를 누르면 메인화면으로 튕겨나오는 오류가 있었다.

이 오류를 잡는데 하루가 걸린 사건의 이야기이다.

 

.

.

.

 

 public static void Quest1(Player player)
 {
     Console.Clear();

     Console.WriteLine("[ 퀘스트1. 과제발생기 강탈 미션 ]");
     Console.WriteLine("난이도 : ★");

     Console.WriteLine();
     Console.WriteLine("'있잖아... " + Start.player.Name + " ...'");
     Console.WriteLine("'그 소문 들었어?... 우리에게 자꾸 과제를 내주는 과제발생기의 위치를 알아냈대...'");
     Console.WriteLine("'그곳에 가서... 과제 발생기를 없애면 과제가 줄어들지도 몰라...'");
     Console.WriteLine("'어떻게 할래?... 도전해볼래?...'");

     Console.WriteLine();
     Console.WriteLine("1. 당연히 참여한다");
     Console.WriteLine("0. 무서우니 도망친다");
     Console.WriteLine();
     Console.Write(">>");

     int choice = ConsoleUtility.PromptMenuChoice(0, 1);

     switch (choice)
     {
         case 0:
             return;

         case 1:
             StartQuest.StartQuest1(player);
             break;

     }
 }

여기서 1번을 누르면 퀘스트 1번으로 넘어가야 하는데, 안넘어가고 계속 이전 화면으로 돌아가버리는 것이었다.

근데 다른 팀원분도 어제부터 그 문제로 고민이 많으셨기 때문에... 팀원 다같이 고민을 해보기 시작했다.

 

하루종일 고민을 하던 와중 팀장님께서 저녁도 안드시고 계속 뭔가 치시더니

저녁시간 끝나고 오류 고치는데 성공하셨다며 보여주셨다!!!!!!

 

그리고 우리가 하루, 이틀씩 걸려 끙끙거리던 오류는 단 한줄로 고치는 것이 가능했다.

int choice = ConsoleUtility.PromptMenuChoice(0, 0);

바로 이것.

 

팀장님께서 오류가 고쳐졌다며 보여주신거에서 가장 중요한 변화는 int choice 해서 프롬프트 부분을 넣어준것과

switch 케이스 를 사용하여 선택지를 주었다는 점이었다.

거기에 집중해서 switch문을 넣어주었더니 코드가 정상적으로 작동했다!!!

하지만 왜 되는지 이유를 모르겠어서 또 다같이 이것저것 해보며 알아보았는데,

 

1. switch 문을 꼭 써주지 않아도 괜찮았다.

2. int choice = ConsoleUtility.PromptMenuChoice(0, 0); 이 코드 한 줄만 넣어줘도 정상작동이 된다.

 

결국 우리는 저 한 줄 때문에 ... 몇날며칠을 앓았다는 것이었고... 

허탈하긴 했지만 드디어 퀘스트 페이지로 입장을 할 수 있었다.

 

퀘스트 내용은 기존의 스크립트를 많이 가져오는? 식으로 만들어 볼 예정이고, 세개를 기획했는데 혼자 하기 너무 많다 싶으면 그냥 줄일 것이다. (추가구현이니깐 ㅎ)

이렇게 내 맘대로 내용을 넣을 수 있는 걸 만드느건 재밌는 것 같다.

 

오늘은 하루종일 진짜 저 오류 하나만 고치고 있었어서 딱히 적을게 없다.

하지만 이걸 고쳐낸게 나한텐 (우리 팀한텐) 정말 큰 일이었다!!!!!!!!