오늘 구현한 기능
던전 입장, 던전 이지, 노멀, 하드 스테이지, 던전 클리어 화면, 던전 실패 화면, 캐릭터 사망 화면, 강화 기능, 강화 선택, 강화 화면, 강화확률, 비용 구현, 스테이터스와 연동
어려웠던 점
우선 플레이어가 죽었을 때 플레이어 클래스에서 함수를 불러왔어야 했는데 인터페이스를 상속받는 플레이어 클래스 안에 그냥 함수를 선언하니 다른 클래스에서 접근이 불가능했다. 그래서 인터페이스에 함수를 다시 선언하고 상속받는 플레이어 클래스에 다시 재선언하여 구현했더니 접근이 가능해졌다.
내가 생각하기엔 인터페이스의 특징이 무조건 인터페이스 안에 있는 것은 무조건 구현해야 한다는 것인데 이것이 선언뿐만 아니라 접근할 때도 무조건 인터페이스에서 선언한것만 접근이 가능한가보다.
강화기능을 구현할 때는 확률을 계산할 때 어떠한 방법으로 구현해야할지 몰라서 검색을 해봤더니 거의 다 Random 기능을 써서 구현했다. 그렇기에 강화 수치가 점점 증가할 때마다 확률이 고정적으로 오르는게 아닌 변동이 큰 확률을 만들기 위해 Random.Next(1, 101)로 크게 나누어 수식을 만든 후 점차 증가하게 만들었다. 여기서 중요한건 Random은 1부터 101까지다. 즉 1이상 101미만이다.
던전은 조금 더 어렵게 만들려했는데 주어진 과제에서 해보니 그렇게 어렵지 않게 만들 수 있었다.
내일 할 것
우선 전체 코드가 약 2천줄이 넘어가기 때문에 클래스 별로 정리를 해야할 것 같다.
그 후 각cs마다 README파일에 기능 설명을 넣을 것이다.
'TIL > C#' 카테고리의 다른 글
C# LINQ (0) | 2023.08.24 |
---|---|
개인 프로젝트 ConsoleRPG 4일 차(마무리) (0) | 2023.08.23 |
개인 프로젝트 ConsoleRPG 2일 차 (0) | 2023.08.21 |
개인 프로젝트 ConsoleRPG 1일 차 (0) | 2023.08.18 |
C# LeetCode - 80 Largest Rectangle in Histogram 풀이 (0) | 2023.08.17 |