본문 바로가기

내일배움캠프/[P2-Solo.] SpartaDungeon

[TIL 24.04.25] 개인 프로젝트: 스파르타 던전(2)

 

 

목   차

     


    이벤트 처리

    • 이벤트 하는 법
      1. 이벤트 핸들러를 Namespace에 선언한다. (public delegate void [이벤트 핸들러 이름] (매개변수) )
      2. [객체1] 에서 이벤트 변수를 선언한다. ( public event [이벤트핸들러 이름] [이벤트 이름] )
      3. [객체1]에서 필요한 곳에 이벤트를 발생시킨다. ( [이벤트]?.Invoke(전달할 변수) )
      4. [객체2]에서 이벤트를 통해 어떤 상호작용을 할건지 그 함수를 작성한다.
      5. [객체1].[이벤트] += [객체2].[이벤트 작동함수] 를 통해 이벤트가 전달되도록 한다.

    버그 리포트1-Console.Clear()

    상점에 아이템을 9개 가량 추가했는데 이게 화면에 모든 글씨가 나오지 않는다면 Console.Clear()가 작동하지 않는 문제가 있다. 

    사용해본 방법:

    • 1. Console.SetWindowSize(); ->커서 위치만 이상해진다.
    • 2. Console.SetBufferSize(); -> 위와 다를게 없다.
    • 3. 콘솔창 설정에서 크기 바꾸기 -> 암만 봐도 못찾음.
    • 4. 콘솔창 설정에서 글씨크기 바꾸기 -> 껐다 키니까 콘솔창 크기가 줄어버림.

    결국 해결하지 못하고 그냥 화면 사이즈를 수동으로 키우는 것으로 합의를 봤다.

     

    버그 리포트2-배열이 복제되는 문제.

    ShopItem이 복제가 되어버렸다. 아마 .json파일에 저장된 것과 생성자에서 만드는 것이 중복되어 그런 문제가 발생하는 것으로 찾아내긴 했지만, 이게 왜 발생하고 어떻게 막을 수 있는지는 찾을 수 없어 그냥 private으로 선언하는 것으로 합의를 봤다. 튜터님의 조언으로는 Shop 클래스와 Player 클래스를 완전히 분리하는 것을 추천한다고 하셨지만, 제출 기한이 다가왔기에 다음 기회로 미루었다.


     

    마무리

    너무 피곤해서 오늘의 TIL 은 내가 새롭게 알게 된 것 혹은 내가 해결하지 못한 문제들만 간단히 나열하고 마친다.