TextRpg(10)
-
C# 콘솔창으로 게임 만들기(Day 5)
저번 시간에는 몬스터와 플레이어가 서로 공격하는 전투 시스템까지 구현했었다. 하지만, 몬스터의 공격 방식은 스킬이 없으니 그렇다고 쳐도, 플레이어는 챕터를 거듭할수록 사용할 스킬들이 생기고 스킬들마다 효과가 다르기 때문에 저번에 만들었던 시스템가지고는 한계가있다. 따라서 오늘은 C#의 대리자를 사용하여 플레이어의 공격을 관장하는 시스템을 구축하려고 한다. 먼저 Vampire 클래스에 멤버 변수로 각각 Vampire가 취할 액션 메서드인 VampireAction 대리자와, 스킬 이름에 맞는 VampireAction을 실행해줄 Dictionary 형태의 actionDic을 추가해주었다. 그런 다음 AddAction 메서드를 통해 actionDic에 stateName(스킬명)이 있으면 action이라는 val..
2023.10.20 -
C# 콘솔창으로 게임 만들기(Day 4)
저번 시간에 스토리와, 몬스터마다 개별 등장 문구가 출력되도록 하였으니 그 이후 진행될 전투 시스템을 구성하려 한다. 전투 시스템은 최상단에 턴 수가 나오고, 플레이어와 몬스터의 각각의 최대 체력, 현재 체력, 공격력이 나오도록 설정해 줄 것이다. 플레이어가 행동을 선택하면 그 행동을 한 직후 몬스터도 행동하는 식으로 턴이 진행된다. 가장 먼저 플레이어와 몬스터의 상태를 보여주는 메서드를 작성해보자. 매개변수로는 player, monster, mob, turn 이렇게 받아서 턴수를 표시하고 플레이어와 몬스터의 상태를 출력해 준다. mob을 매개변수로 받는 이유는 어떤 몬스터의 상태를 나타내는지 표시해주기 위해서 넣어주었다. 다음은 출력화면이다. 이제 Battle 메서드를 만들어 주어서 본격적으로 시스템을..
2023.10.20 -
C# 콘솔창으로 게임 만들기(Day 3)
각 챕터 별로 10 스테이지씩 진행을 할 것이다. 스테이지 1, 6, 10(보스 전)에 스토리가 등장하고 나머지 스테이지는 1챕터의 몬스터들이 랜덤으로 등장하도록 설정해줄 것이다. 이번에는 스토리와 몬스터 등장 문구가 각 스테이지별로 출력되게 할 것이다. 챕터별 스토리와 몬스터 및 보스 등장 문구를 콘솔 화면에 출력하기 위해 사전에 시나리오를 작성해놓고 각 폴더에 알맞게 저장해 주었다. 이제 각 스테이지별로 해당하는 스토리가 출력되도록 파일 입출력을 통해 코드를 작성해보도록 하겠다. 스테이지가 10 개고 계속 증가하는 형태기 때문에 for 문으로 작성해 주었다. 또 i 스테이지마다 정해진 시퀀스가 출력이 돼야함으로 챕터의 이름과 스테이지 번호가 출력되도록 작성을 해주었고, 전체적인 스테이지의 흐름은 sw..
2023.10.20 -
C# 콘솔창으로 게임 만들기(Day 2)
오늘은 로비 화면과, 캐릭터(뱀파이어) 클래스, 챕터 1에 등장할 몬스터 클래스를 작성해보도록 하겠다. 로비에서 캐릭터를 선택할 것이기 때문에 아직 구현하지 않은 뱀파이어 클래스부터 작성해보자. Player 클래스를 상속받은 Vampire 클래스의 기본적인 형태 로비의 구성은 게임 이름이 나오게 하고, 위에서 언급했듯 캐릭터를 선택하는 것이 전부이다. 위 코드에서 ConsoleClear 메서드는 게임이 진행되는 동안 화면이 고정되지 않고 계속 내려가 집중에 방해가 될 것을 우려하여 콘솔 화면을 지워줄 메서드다. 다음은 ConsoleClear 메서드의 코드다. 이제 게임을 실행하면 Lobby 메서드가 실행이 되어 게임 이름이 나오고, 캐릭터를 생성하면 캐릭터가 생성되었다고 알려주는 것까지 나올 것이다. 한..
2023.10.20 -
C# 콘솔창으로 게임 만들기(Day 1)
C#의 콘솔창에서 텍스트 알피지를 만들어 보려고 한다. 게임명 If The NIght Comes 장르 텍스트 알피지 진행 방식 3개의 챕터(챕터는 총 10 stage로 구성), 스토리는 각 챕터의 1,5,10 stage에 나올 예정, 챕터의 마지막(10 stage)은 보스전, 나머지 stage는 일반 몬스터와의 대결 캐릭터 뱀파이어(시작은 뱀파이어로 하고 여유가 된다면 늘려갈 예정) 스토리 늑대인간과 인간의 공격으로 멸족 위기에 처한 뱀파이어였지만, 강력한 뱀파이어가 태어나 일족을 지킨다는 이야기 스킬 4~5개 구현 예정 표를 통해 간략하게 게임의 방향성에 대해 스케치 해보았다. 이제 게임의 가장 기본이 될 클래스(게임, 플레이어, 몬스터)와 게임 프로세스를 작성해보도록 하겠다. 여러 스크립트가 같이 있..
2023.10.20