챕터2 개인 프로젝트
DungeonLife는 비올레토라는 주인공이 던전에서 다양한 적들을 처치하는 게임입니다.
운영 방식은 단순하게 게임을 시작하면 던전에 바로 입장이 되고, 적을 조우하게 됩니다.
적을 조우하고 선택지를 골라서 적과 전투를 한 뒤 스테이지를 진행 및 종료하며 나아갑니다.
기본적으로 일반적인 공격과 스킬 공격이 있으며, 스킬 공격은 쿨타임이 존재하고 일반 공격보다 조금 더 쎕니다.
버프와 디버프를 주고 싶었지만 시간이 부족할 것 같아 넣지 못했습니다.
작동 방식은
1-1. 스킬 쿨타임 상황이 아니라면 행동이 가능한 것으로 처리됩니다.
1-2. 몬스터는 공격을 할 때 스킬 행동이 가능한 상황인 경우 40% 확률로 스킬을 사용하도록 설정했습니다.
1-3. 플레이어는 스킬 행동이 가능한 상황인 경우 선택지에 노출되며 사용이 가능합니다.
몬스터는 총 4가지로 각 출현 확률에 따라 일정확률로 조우하게 됩니다.
Goblin, Orc, Wolf, Dragon 이 있으며 Dragon은 죽음의 수준입니다.
작동 방식은
2-1. 몬스터 클래스에 몬스터를 생성하는 메서드를 만들었습니다.
2-2. 해당 메서드가 호출이되면 미리 지정한 몬스터의 스테이터스가 담긴 몬스터타입이 선언됩니다.
2-3. 몬스터 종류만큼 반복문을 돌며 몬스터타입 스테이터스 중 출현 확률에 따라 출현을 결정합니다.
ex) 고블린 실패 > 오크 실패 -> 늑대 성공 ======> 늑대 출현
플레이어와 적의 스피드를 확인하여 이번 턴의 행동 순서를 잡게 됩니다.
턴 순서를 스테이지 현황에 같이 노출시켜줬습니다.
플레이어 혹은 몬스터가 공격하는 로직과 피격하는 기능을 구현했습니다.
공격을 하게되면 객체의 actionTypes에 minDamage 와 maxDamage 를 Random으로 산출하여 피해를 주게됩니다.
도망치기는 플레이어만 가능하며 도망칠 수 있는 확률로 도망 성공 여부를 판단합니다.
도망에 성공하면 스테이지를 넘어가게 되고, 도망으로 스테이지를 넘어가게 되면 피 회복을 받지 못합니다.
3-1. 체력
플레이어의 경우 몬스터 처치로 스테이지 클리어 시, 체력이 일정량 회복이 됩니다.
몬스터의 경우 스테이지에 비례하여 추가 체력을 얻은 상태로 조우하게 됩니다. (하단 전체사진 참고)
3-2. 데미지
플레이어와 몬스터 모두 스테이지에 비례하여 minDamage, maxDamage가 상승합니다.
4-1. 게임 승리
스테이지가 총 스테이지를 넘어서는 경우 게임을 즉시 종료하고 게임 승리를 띄웁니다.
4-2. 게임 패배
플레이어의 체력이 0 이하가 되는 경우 게임을 즉시 종료하고 게임 패배를 띄웁니다.
게임 패배하면 다시 메인메뉴로 이동하도록 구현되었습니다.