using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WOW_Make_Character
{
class App
{
public App()
{
System.Media.SoundPlayer playMusic = new System.Media.SoundPlayer(@"E:\\workspace\\WOW_Make_Character\\wow.wav"); //음악파일 지정
playMusic.PlayLooping(); //음악파일 루프재생
string choiceCamp;
int menuValue = 0;
int parseValue;
bool success;
Character newCharacter = new Character(); //캐릭터 정보 저장 인스턴스
Color color = new Color(); //컬러 변환 인스턴스
while (menuValue != 100) //생성실행
{
Console.Clear(); //콘솔창 지우기
while (menuValue == 0)
{
Console.Clear(); //콘솔창 지우기
Console.SetCursorPosition(32, 10);
Console.WriteLine("World Of Warcraft에 오신 것을 환영합니다. 모험가님");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("\n\t\t\t\t플레이하실 종족을 선택하세요");
System.Threading.Thread.Sleep(1000);
color.ColorBlue();
Console.Write("\n\t\t\t\t{0}", GameEnums.eCamp.Alliance);
color.ColorReset();
Console.Write(" VS ");
color.ColorRed();
Console.Write("{0}\t\t\t", GameEnums.eCamp.Horde);
color.ColorReset();
choiceCamp = Console.ReadLine();
if (choiceCamp == "얼라이언스" || choiceCamp == nameof(GameEnums.eCamp.Alliance) || choiceCamp == "alliance")
{
Console.Write("\n\n\t\t\t\t정의의 진영, 얼라이언스를 선택하시겠습니까? (Y/N) : ");
ConsoleKey choiceYesOrNo = Console.ReadKey().Key;
if (choiceYesOrNo == ConsoleKey.Y)
{
newCharacter.characterCamp = nameof(GameEnums.eCamp.Alliance);
menuValue = 1;
break;
}
else if (choiceYesOrNo == ConsoleKey.N)
{
Console.WriteLine("\n\t\t\t\t종족 선택화면으로 돌아갑니다.");
System.Threading.Thread.Sleep(1000);
break;
}
else
{
Console.WriteLine("\n\t\t\t\t잘못 입력하였습니다!");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("\n\t\t\t\t종족 선택화면으로 돌아갑니다.");
System.Threading.Thread.Sleep(1000);
break;
}
}
else if (choiceCamp == "호드" || choiceCamp == nameof(GameEnums.eCamp.Horde) || choiceCamp == "horde")
{
Console.Write("\n\n\t\t\t\t신념의 진영, 호드를 선택하시겠습니까? (Y/N) : ");
ConsoleKey choiceYesOrNo = Console.ReadKey().Key;
if (choiceYesOrNo == ConsoleKey.Y)
{
newCharacter.characterCamp = nameof(GameEnums.eCamp.Horde);
menuValue = 1;
break;
}
else if (choiceYesOrNo == ConsoleKey.N)
{
Console.WriteLine("\n\t\t\t\t종족 선택화면으로 돌아갑니다.");
System.Threading.Thread.Sleep(1000);
break;
}
else
{
Console.WriteLine("\n\t\t\t\t잘못 입력하였습니다!");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("\n\t\t\t\t종족 선택화면으로 돌아갑니다.");
System.Threading.Thread.Sleep(1000);
break;
}
}
else
{
Console.WriteLine("\n\t\t\t\t잘못 입력하였습니다!");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("\n\t\t\t\t종족 선택화면으로 돌아갑니다.");
System.Threading.Thread.Sleep(1000);
break;
}
}//진영 선택
while (menuValue == 1)
{
Console.Clear();
if (newCharacter.characterCamp == nameof(GameEnums.eCamp.Alliance))
{
Console.SetCursorPosition(32, 10);
Console.WriteLine("{0}진영에 속하는 종족 중 하나를 선택합니다.", newCharacter.characterCamp);
Console.WriteLine("\n\t\t\t\t1.휴먼 2.드워프 3.나이트엘프 4.노움");
Console.Write("\n\t\t\t\t5.드레나이 6.늑대인간 7.판다렌 8.돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.Human);
menuValue = 2;
break;
case 2:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.Dwarf);
menuValue = 2;
break;
case 3:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.NightElf);
menuValue = 2;
break;
case 4:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.Gnome);
menuValue = 2;
break;
case 5:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.Draenei);
menuValue = 2;
break;
case 6:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.Worgen);
menuValue = 2;
break;
case 7:
newCharacter.characterTribe = nameof(GameEnums.eAllianceTribe.Pandaren);
menuValue = 2;
break;
case 8:
menuValue = 0;
break;
default:
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 선택해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterCamp == nameof(GameEnums.eCamp.Horde))
{
Console.SetCursorPosition(32, 10);
Console.WriteLine("{0} 진영에 속하는 종족 중 하나를 선택합니다.", newCharacter.characterCamp);
Console.WriteLine("\n\t\t\t\t1.오크 2.언데드 3.타우렌 4.트롤");
Console.Write("\n\t\t\t\t5.블러드엘프 6.고블린 7.판다렌 8.돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.Orc);
menuValue = 2;
break;
case 2:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.Undead);
menuValue = 2;
break;
case 3:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.Tauren);
menuValue = 2;
break;
case 4:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.Troll);
menuValue = 2;
break;
case 5:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.BloodElf);
menuValue = 2;
break;
case 6:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.Goblin);
menuValue = 2;
break;
case 7:
newCharacter.characterTribe = nameof(GameEnums.eHordeTribe.Pandaren);
menuValue = 2;
break;
case 8:
menuValue = 0;
break;
default:
Console.Write("\t\t\t잘못된 입력입니다! 다시 선택해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
}//종족 선택
while (menuValue == 2)
{
Console.Clear();
if (newCharacter.characterCamp == nameof(GameEnums.eCamp.Alliance))
{
Console.SetCursorPosition(32, 10);
Console.Write("{0}의 직업을 선택합니다.", newCharacter.characterTribe);
if (newCharacter.characterTribe == "Human")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.Write("\n\t\t\t\t6.흑마법사 7.사제 8.성기사 9.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Paladin);
menuValue = 3;
break;
case 9:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Dwarf")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.WriteLine("\n\t\t\t\t6.흑마법사 7.사제 8.성기사 9.전사 10.주술사");
Console.Write("\n\t\t\t\t0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Paladin);
menuValue = 3;
break;
case 9:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 10:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "NightElf")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.Write("\n\t\t\t\t6.악마사냥꾼 7.사제 8.드루이드 9.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.DemonHunter);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Druid);
menuValue = 3;
break;
case 9:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Gnome")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.Write("\n\t\t\t\t6.흑마법사 7.사제 8.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Draenei")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.사냥꾼 3.수도사 4.마법사 5.사제");
Console.Write("\n\t\t\t\t6.성기사 7.전사 8.주술사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Paladin);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Worgen")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.마법사 5.흑마법사");
Console.Write("\n\t\t\t\t6.사제 7.드루이드 8.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Druid);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Pandaren")
{
Console.WriteLine("\n\n\t\t\t\t1.도적 2.사냥꾼 3.수도사 4.마법사 5.사제");
Console.Write("\n\t\t\t\t6.전사 7.주술사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
}
else if (newCharacter.characterCamp == nameof(GameEnums.eCamp.Horde))
{
Console.SetCursorPosition(32, 10);
Console.Write("{0}의 직업을 선택합니다.", newCharacter.characterTribe);
if (newCharacter.characterTribe == "Orc")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.Write("\n\t\t\t\t6.흑마법사 7.전사 8.주술사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Undead")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.Write("\n\t\t\t\t6.흑마법사 7.사제 8.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Tauren")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.사냥꾼 3.수도사 4.사제 5.드루이드");
Console.Write("\n\t\t\t\t6.주술사 7.성기사 8.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Druid);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Paladin);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Troll")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.WriteLine("\n\t\t\t\t6.흑마법사 7.사제 8.전사 9.주술사 10.드루이드");
Console.Write("\n\t\t\t\t0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 9:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 10:
newCharacter.characterJob = nameof(GameEnums.eJob.Druid);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "BloodElf")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.수도사 5.마법사");
Console.WriteLine("\n\t\t\t\t6.흑마법사 7.사제 8.성기사 9.전사 10.악마사냥꾼");
Console.Write("\n\t\t\t\t0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Paladin);
menuValue = 3;
break;
case 9:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 10:
newCharacter.characterJob = nameof(GameEnums.eJob.DemonHunter);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Goblin")
{
Console.WriteLine("\n\n\t\t\t\t1.죽음의기사 2.도적 3.사냥꾼 4.주술사 5.마법사");
Console.Write("\n\t\t\t\t6.흑마법사 7.사제 8.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.DeathKnight);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Warlock);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 8:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
else if (newCharacter.characterTribe == "Pandaren")
{
Console.WriteLine("\n\n\t\t\t\t1.도적 2.사냥꾼 3.수도사 4.마법사 5.주술사");
Console.Write("\n\t\t\t\t6.사제 7.전사 0.되돌아가기 : ");
success = Int32.TryParse(Console.ReadLine(), out parseValue);
if (success)
{
switch (parseValue)
{
case 1:
newCharacter.characterJob = nameof(GameEnums.eJob.Rogue);
menuValue = 3;
break;
case 2:
newCharacter.characterJob = nameof(GameEnums.eJob.Hunter);
menuValue = 3;
break;
case 3:
newCharacter.characterJob = nameof(GameEnums.eJob.Monk);
menuValue = 3;
break;
case 4:
newCharacter.characterJob = nameof(GameEnums.eJob.Mage);
menuValue = 3;
break;
case 5:
newCharacter.characterJob = nameof(GameEnums.eJob.Shamen);
menuValue = 3;
break;
case 6:
newCharacter.characterJob = nameof(GameEnums.eJob.Priest);
menuValue = 3;
break;
case 7:
newCharacter.characterJob = nameof(GameEnums.eJob.Warrior);
menuValue = 3;
break;
case 0:
menuValue = 1;
break;
}
}
else
{
Console.Write("\t\t\t\t잘못된 입력입니다! 다시 입력해주세요!");
System.Threading.Thread.Sleep(1000);
Console.Clear();
}
}
}
}//직업 선택
while (menuValue == 3)
{
Console.Clear();
Console.SetCursorPosition(32, 10);
Console.Write("캐릭터의 이름을 입력하세요 : ");
newCharacter.characterName = Console.ReadLine();
Console.WriteLine("\n\t\t\t\t{0}이(가) 생성됩니다. (Y/N)", newCharacter.characterName);
Console.Write("\n\t\t\t\t전단계로 되돌아가기(Z), 종료하기(X) : ");
ConsoleKey characterNameYN = Console.ReadKey().Key;
if (characterNameYN == ConsoleKey.Y)
{
if (newCharacter.characterJob == nameof(GameEnums.eJob.Warrior))
{
newCharacter.characterWeapon = "낡은 대검";
newCharacter.characterWeaponDamage = 3;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Paladin))
{
newCharacter.characterWeapon = "낡은 대검";
newCharacter.characterWeaponDamage = 3;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Hunter))
{
newCharacter.characterWeapon = "낡은 활";
newCharacter.characterWeaponDamage = 3;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Rogue))
{
newCharacter.characterWeapon = "낡은 단도";
newCharacter.characterWeaponDamage = 2;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Priest))
{
newCharacter.characterWeapon = "낡은 성경";
newCharacter.characterWeaponDamage = 1;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.DeathKnight))
{
newCharacter.characterWeapon = "영혼이 서린 대검";
newCharacter.characterWeaponDamage = 5;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Shamen))
{
newCharacter.characterWeapon = "낡은 목걸이";
newCharacter.characterWeaponDamage = 2;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Mage))
{
newCharacter.characterWeapon = "낡은 지팡이";
newCharacter.characterWeaponDamage = 1;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Warlock))
{
newCharacter.characterWeapon = "낡은 지팡이";
newCharacter.characterWeaponDamage = 1;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Monk))
{
newCharacter.characterWeapon = "낡은 메이스";
newCharacter.characterWeaponDamage = 4;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.Druid))
{
newCharacter.characterWeapon = "낡은 장창";
newCharacter.characterWeaponDamage = 1;
}
else if (newCharacter.characterJob == nameof(GameEnums.eJob.DemonHunter))
{
newCharacter.characterWeapon = "낡은 블레이드";
newCharacter.characterWeaponDamage = 3;
}
menuValue = 5;
}
else if (characterNameYN == ConsoleKey.N)
{
Console.Clear();
continue;
}
else if (characterNameYN == ConsoleKey.Z)
{
menuValue = 2;
}
else if (characterNameYN == ConsoleKey.X)
{
menuValue = 100;
}
else
{
Console.Write("\t\t\t\t잘못입력하셨습니다.");
System.Threading.Thread.Sleep(1000);
Console.Clear();
continue;
}
}//닉네임 입력 및 무기지급 (생성완료)
while (menuValue == 5)
{
Console.Clear();
Console.SetCursorPosition(32, 10);
Console.WriteLine("유저의 데이터를 불러옵니다.");
System.Threading.Thread.Sleep(1500);
Console.SetCursorPosition(35, 12);
for (int i = 0; i < 10; i++)
{
Console.Write("■");
System.Threading.Thread.Sleep(500);
}
Console.Clear();
Console.SetCursorPosition(32, 10);
Console.Write("{0}님 환영합니다!", newCharacter.characterName);
System.Threading.Thread.Sleep(3000);
menuValue = 6;
while (menuValue == 6)
{
Console.Clear();
Console.SetCursorPosition(0, 28);
Console.Write("1.캐릭터 정보보기 2.캐릭터 특성보기 3.종료하기");
var choiceCharacterInfo = Console.ReadKey().Key;
if (choiceCharacterInfo == ConsoleKey.D1 || choiceCharacterInfo == ConsoleKey.NumPad1)
{
Console.Clear();
Console.SetCursorPosition(32, 10);
Console.WriteLine("ID : {0}\t 진영 : {1}\t 종족 : {2}", newCharacter.characterName, newCharacter.characterCamp, newCharacter.characterTribe);
Console.WriteLine("\n\t\t\t\t직업 : {0}\t 착용 중인 무기 : {1}(데미지:{2})", newCharacter.characterJob, newCharacter.characterWeapon, newCharacter.characterWeaponDamage);
Console.ReadKey();
}
else if (choiceCharacterInfo == ConsoleKey.D2 || choiceCharacterInfo == ConsoleKey.NumPad2)
{
Console.Clear();
Console.SetCursorPosition(19, 01); //19,13으로 출력
color.ColorMagenta();
Console.WriteLine("종족 특성");
color.ColorReset();
Trait.PrintTribeTrait(newCharacter.characterTribe);
Console.SetCursorPosition(19, 15);
color.ColorGreen();
Console.WriteLine("직업 특성");
color.ColorReset();
Trait.PrintJobTrait(newCharacter.characterJob);
Console.ReadKey();
}
else if (choiceCharacterInfo == ConsoleKey.D3 || choiceCharacterInfo == ConsoleKey.NumPad3)
{
Console.Clear();
Console.SetCursorPosition(32, 10);
color.ColorRed();
Console.Write("{0}님, 전장에서 기다리고 있겠습니다...", newCharacter.characterName);
color.ColorReset();
System.Threading.Thread.Sleep(3000);
Console.SetCursorPosition(32, 20);
menuValue = 100;
}
else
{
Console.Clear();
Console.SetCursorPosition(32, 10);
Console.Write("잘못된 입력입니다.");
System.Threading.Thread.Sleep(1000);
}
}
}
}
}
}
}