-
[TIL] 스파르타 던전 2게임 기획/내일배움캠프 2025. 4. 17. 23:02
실시간 상태 반영
상태창에서 골드 획득, 아이템 착용 등에 따라 달라지는 상태를 실시간으로 반영하기.
그러기 위해서 class Player를 따로 만들어줬다. 실시간으로 변동되는 것이 적용 될 수 있도록 namespace 바깥에 class Player를 만들어주고 상태창에서도 변동 가능하도록 작성해주었다.
class Player { public int Level = 1; public string Name = "선샤인"; public string Job = "전사"; public int Atk = 10; public int Def = 5; public int Hp = 100; public int Gold = 1500; }
어디서나 접근하기 편하도록 class 바깥에 Player class를 따로 만들어주었다.
Console.Write($"Lv. "); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"{player.Level:D2}"); Console.ResetColor(); Console.Write($"{player.Name} "); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"({ player.Job} )"); Console.ResetColor(); Console.Write($"공격력 : "); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"{player.Atk}"); Console.ResetColor(); Console.Write($"방어력 : "); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"{player.Def}"); Console.ResetColor(); Console.Write($"체 력 : "); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"{player.Hp}"); Console.ResetColor(); Console.Write($"Gold : "); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"{player.Gold} G"); Console.ResetColor();
D2는 정수만 2자리 출력되게 해주는 용도(unity 배울 때 N2만 써서 헷갈렸는데 N2는 소수점 2자리까지 나오게 해주는 것)던전 보상
int defDiff = dungeon.RequiredDef - player.TotalDef; defDiff = Math.Abs(defDiff); int min = 20 + defDiff; int max = 35 + defDiff; int hpLoss = new Random().Next(min, max + 1); player.Hp = Math.Max(0, player.Hp - hpLoss); int atkPercent = new Random().Next(player.TotalAtk, player.TotalAtk * 2 + 1); int reward = dungeon.BaseReward + (dungeon.BaseReward * atkPercent / 100); // player.Gold += reward;
이거 구현하는게 넘 어려웠당 ,,
도저히 저 영어들이 손에 감기지가 않아서 ^_^,, 계속 검색하고 수정하며 결국 만들어내긴 했는데 안 보고 다시 쓰라 하면 못 할듯,.,ㅋ.ㅋ..
- de diff: 방어력 차이에 따라 체력 감소량 조정
- min, max +diff: 체력 감소 범위에 조정한 감소량 적용
- atkPercent = Random(playerAtk ~ playerAtk * 2): 공격력 기준 보상 % 계산
- BaseReward + (BaseReward * atkPercent / 100): 기본 보상에 퍼센트 반영한 보상과제 끝!!!!
만들면서 개발보단 기획단계가 재밌었던지라,, 역시나 기획이 적성에 맞다는 생각을 했다,, ^_^,,
그치만 계속 고민하고 수정하고 결국 구현해 내는 과정이 참 매력적이었다.
예상보다 개발이 생각보다 재밌어서 즐겁게 작업 할 수 있었다!!
얼른 기획 파트도 배워서 맘에 쏙 드는 게임을 만들어 보고 싶다💕
'게임 기획 > 내일배움캠프' 카테고리의 다른 글
[TIL] Text RPG (Team Project) 1 (2) 2025.04.21 [TIL] C# 기초 2 (0) 2025.04.21 [TIL] 스파르타 던전 1 (1) 2025.04.16 [TIL] 예문 풀이 (3) 2025.04.15 [TIL] C# 기초 1 (1) 2025.04.14