C# 콘솔창으로 게임 만들기(Day 8)

2023. 10. 20. 17:13Game Develop/C# Console Text RPG

이제 Episode 메서드가 끝과, 보스전에서 승리하면 스킬을 추가해주는 메서드 부터 작성해보도록 하겠다.

 

VampireSkill enum의 처음부터 끝까지 랜덤한 수를 받아와서 이 스킬이 이미 스킬에 추가가 됐는지를 확인하고, 동일한 스킬이 이미 있으면 다시 수를 받고, 그렇지 않다면 스킬을 추가해주는 메서드이다.

 

이 Game 클래스에 작성된 세 개의 메서드를 통해서 능력치 강화를 시켜줄 실행문들은 다 끝났고 이제 직접적으로 캐릭터의 능력치를 변화시켜주는 메서드를 작성하면 된다.

 

SetSkill 메서드 안에 있는 빨간 네모 부분의 tmp.SetSkill(skill)은 조금만 생각해보면 이름만 같을 뿐 다른 메서드라는 것을 짐작할 수 있다.

이 메서드가 실질적으로 Player의 스킬을 추가해주는 메서드라고 할 수 있다.

 

다음은 Vampire 클래스에 작성해준 코드들이다.

스킬의 목록
Bat_FIre을 만들때와 동일하다.

actionDic에 추가해주고 실행하는 것은 Bat_Fire와 크게 다를 것이 없고 단지 구분만 해주면 된다.

 

이 코드들은 각 스킬들이 갖는 효과들이다.

 

가장 밑의 빨간 네모를 친 스킬 효과가 굉장히 특이한데 마주치는 몬스터에게 이 스킬을 실행한 횟수만큼 턴마다 피해를 입히는 기술이다.

따라서, 이를 위해 변수와 메서드를 Player 클래스에 추가해주었다.

이 메서드들은 전투 중에 쓰일 메서드들이기 때문에 전투 상황에 적절히 추가해주면 원하던 효과를 누릴 수 있겠다.

 

각각 몬스터와, 보스 전투시 실행될 메서드 안에 넣어주었다. 이로써 모든 준비가 끝났으니 잘 작동하는지 확인해보자.

 

1) Blood_Diamond

다시 1에서 시작이 아니라 쭉 증가하는 것을 볼 수 있다.

 

2) OverFlow

 

다음 몬스터와 맞닥드려도 공격력이 감소하지 않는다

 

3) Thirster

현재 체력이 최대 체력과 같아서 회복 문구가 뜨지 않는다
다음 몬스터를 만나서 회복이 돼있는 걸 확인할 수 있다.
8 만큼 회복돼있음

 

4) Blood_Explosion

 
다음 몬스터 조우시 체력이 30 닳아있

 

 

마지막으로 보스전 승리 후 스킬 추가 되는 것 까지 확인해 본 후 포스팅을 마치도록하겠다.

 

자 이것을 끝으로 포스팅을 마치도록 하겠고 다음은 드디어 대망의 Chapter 2로 넘어가도록하겠다.