지난 시간에 하던 Text_RPG를 계속 제작하였다.
전투 시스템 구현은 Step 4와 내용이 흡사하여 많은 시간을 소요하지는 않았다.
우선 몬스터를 먼저 만들어주었다.
헤더파일과 소스파일을 나누어 주었고 자식 클래스로 슬라임을 만들어 주었다. (추후에 다양한 몬스터가 추가가 가능하게 해주었다.)


몬스터 파일은 플레이어와 굉장히 흡사하지만 마나가 없고 드랍 아이템을 더 추가해주었다.
아래에 몬스터의 공격 매커니즘을 설정해놓았다.
특징으로는 플레이어를 공격 시 대상 플레이어의 방어력만큼 공격이 상쇄되어 들어가며 방어력이 공격력보다 높으면 최소치인 1 데미지를 넣도록 해주었다.
또한, 플레이어의 실시간 체력 상황을 알려주며 얼마만큼의 공격을 받아서 체력이 남았는지 표시해주었다.
이에 따라 플레이어의 파일도 조금 수정해주었다.
먼저 순수 가상 함수를 하나 더 만들어 몬스터를 반드시 공격하게 해주었다.


슬라임의 파일은 자식 클래스이기에 간단히 만들어주었다.
Slime.cpp 파일에선 슬라임의 능력치를 수정해 줄 수 있었다.


플레이어의 공격 또한 구현해주었다.
위의 몬스터와 동일한 구조로 만들어주면 되었다.
위의 만든 구조를 이용해서 Main 소스코드에서 전투시스템을 구현할 것이다.

전직이 끝난 뒤 던전에 입장하며 몬스터와 조우하게 하였다.
그 후 전투가 일어나며 while문을 이용하여 플레어어 혹은 슬라임의 체력이 0이 되기 전까지 반복하게 만들었다.
멤버 함수를 호출하여 몬스터에게 데미지를 주거나 받게 만들었으며 전투 종료시 출력되는 문구또한 만들어 게임의 완성도를 높였다.
문제가 하나 있었다면 지난 시간에 setHP 설정을 잘못 해두어 플레이어의 체력이 0 이하가 되면 플레이어의 체력을 100 이상으로 만들게 하였었는데 이는 원래 플레이어 체력 설정 시 0 보다 낮게 설정할 수 없게 해두었던 것이었기에 이미 Main 코드 내에서 설정해둔 코드가 있어서 setHP 설정을 바꾸어주었다.



집중해서 만들기 시작하니 시간 가는 줄 모르고 계속 만들었다. 하는 방법만 제대로 배워놓으면 만드는 것 자체는 정말 재미있었다.
모르는 부분이 많아서 AI의 도움을 조금 받았지만 그래도 재미있었다. 언젠가 AI의 도움 없이 만드는 날이 올지 모르겠다.
'본캠프 TIL' 카테고리의 다른 글
| 05.11 Unreal 본캠프) TextRPG 제작 과정 (포션 제작소 및 전체적인 구조 완성) (0) | 2026.05.11 |
|---|---|
| 05.08 Unreal 본캠프) TextRPG 제작 과정 (인벤토리 구현) (0) | 2026.05.08 |
| 05.06 Unreal 본캠프) Text_RPG 제작 과정 (0) | 2026.05.06 |
| 05.04 Unreal 본캠프) CH2 과제 2번 시작 : Text_RPG 제작 (0) | 2026.05.04 |
| 04.30 Unreal 본캠프) C++ 포인터와 레퍼런스 (0) | 2026.04.30 |