C#/텍스트 게임 "Shelter"

7일차. 게임 마무리

홍삼맛 2023. 11. 13. 17:07

📌 게임 마무리

  • 일주일간 구현하면서 부족한 부분 마무리 하기

 

📌 구현 목록

🔧 장비 장착 시 스탯 반영

// 스탯 타입
public enum StatType
{
    ATK,
    DEF,
    ACC,
    EVA,
    None,
}

// 장비 장착 시, 스탯 추가
private void AddStat(StatType statType, int stat)
{
     switch (statType)
     {
          case StatType.ATK:
               Game.Player.Atk += stat;
               break;
          case StatType.DEF:
               Game.Player.Def += stat;
               break;
          case StatType.ACC:
               Game.Player.Acc += stat;
               break;
          case StatType.EVA:
               Game.Player.Eva += stat;
               break;
     }
}
  • 장비 장착 시, 해당 아이템에 부여받은 StatType에 따라 스탯 추가
  • 장착 해제 시, AddStat에 반대되는 MinusStat으로 스탯 복귀 기능 추가

🔧 플레이어, 적 데미지 반영

public void Damaged(int damage)
{
     if (damage <= Def) return; 

     Hp -= (damage - Def);
     
     if (Hp <= 0)
     {
          Hp = 0;
          //TODO => 죽음 관련 기능 추가 필요
     }
}
  • 방어력에 반영되어 데미지 계산, 지금은 플레이어와 적  따로 매소드를 구분했지만, 인터페이스나 추상클래스로 통합할 가능성이 있음
  • (미구현) 플레이어와 적이 Hp가 소진되면 그에 맞게 기능 추가할 예정 (적 => 보상, 플레이어 => 배드 엔딩)
  • (미구현) 전투 시, 명중과 회피를 반영해서 좀 더 복잡한 전투 매커니즘 구현 예정

 

📌 마무리..

  • 충분히 시간을 활용했으면, 더 많은 기능이나 버그들을 수정했을 부분을 못한게 아쉽다.
    => 근데 이거는 항상 개발을 해오면서 따라오는 나의 고질적 문제, 이런 부분을 계속 만들면서 고쳐나가야 한다.
  • 이벤트 스테이지 구현을 통해 더 완성도 있게 할 수 있었는데 아쉬움 
    => 선택에 따른 보상과 특정 아이템 사용으로 이벤트 결과 차이
  • 엔딩 구현 아쉬움 (배드 엔딩, 이벤트 스테이지 선택에 따른 멀티 엔딩) => 간단한 엔딩이라도 구현해야 한다.
  • 그래도 순수 C#으로 콘솔창 텍스트 게임을 만드는거에 새로운 도전 욕구가 생김 => 이제는 다시 유니티로..

 

📌 개발 링크

https://github.com/psw1305/TextGame_PSW

 

GitHub - psw1305/TextGame_PSW: 텍스트 게임

텍스트 게임. Contribute to psw1305/TextGame_PSW development by creating an account on GitHub.

github.com