반응형
직업을 골라 보았으니 이제 본격적으로 캐릭터를 생성해 봅시다.
다음은 캐릭터의 직업을 고르고, 직업에 따라 공격력과 HP를 다르게 설정해 주는 코드 전문입니다.
namespace CSharp
{
class Program
{
enum ClassType
{
None = 0,
Warrior = 1,
Rogue = 2,
Mage = 3
}
struct Player
{
public int hp;
public int attack;
}
static void Main(string[] args)
{
while (true)
{
ClassType playerClassChoice = ChooseClass();
if(playerClassChoice != ClassType.None)
{
//캐릭터 생성
Player player;
CreatePlayer(playerClassChoice, out player);
Console.WriteLine($"HP{player.hp} Attack{player.attack}");
}
}
}
static ClassType ChooseClass()
{
Console.WriteLine("직업을 선택하세요!");
Console.WriteLine("[1] 전사");
Console.WriteLine("[2] 도적");
Console.WriteLine("[3] 마법사");
ClassType classChoice = ClassType.None;
string input = Console.ReadLine();
switch (input)
{
case "1":
classChoice = ClassType.Warrior;
break;
case "2":
classChoice = ClassType.Rogue;
break;
case "3":
classChoice = ClassType.Mage;
break;
}
return classChoice;
}
static void CreatePlayer(ClassType choice, out Player player)
{
//전사(100,10) 도적(75, 15), 마법사(50, 5)
switch (choice)
{
case ClassType.Warrior:
player.hp = 100;
player.attack = 10;
break;
case ClassType.Rogue:
player.hp = 75;
player.attack = 15;
break;
case ClassType.Mage:
player.hp = 50;
player.attack = 5;
break;
default:
player.hp = 0;
player.attack = 0;
break;
}
}
}
}
Player 구조체를 만들어 Player와 관련된 각종 정보를 저장해 주었습니다.
구조체에 대해 잘 모르겠는 분은 제 블로그 포스트를 참고해 주세요.
while문을 활용하여 계속 반복시켜 주었습니다.
추후 1~3 외 다른 숫자를 입력할 경우 직업 선택칸이 계속 반복되도록 코드를 구성할 것입니다.
반응형
'C# 기초 프로그래밍 > TextRPG 만들기' 카테고리의 다른 글
<TextRPG> 03. 몬스터 생성 및 기초 전투 구현 (0) | 2023.12.19 |
---|---|
<TextRPG> 01. 캐릭터 직업 고르기 (0) | 2023.12.15 |