static void Training(ref User Player, ref GM GameManager) { Console.Write("[훈련장에 입장했습니다.]\n[원하시는 스킬을 몬스터에게 학습시키거나 잊게 만들 수 있습니다.]\n"); Console.Write("[훈련을 원하시는 포켓몬을 선택해주세요.]\n"); Player.MonShow(); Console.Write("유저 : "); Player.Set_Key(); Monster TrainMon = null; Player.Get_HaveMon_ref(ref TrainMon, Player.Get_Key() - 49); Console.Write($"['{TrainMon.GetName()}'이(가) 선택 되었습니다.]\n[원하시는 행위를 선택해주세요.]\n[1. 학습 2. 망각]\n유저 : "); Player.Set_Key(); if (Player.Get_Key() == '1') { Console.Write("[학습시키고 싶으신 기술을 선택해주세요.]\n"); GameManager.SkillShow(); Console.Write("유저 : "); Player.Set_Key(); TrainMon.Add_Skill(GameManager.lm_Skill[Player.Get_Key() - 49]); Console.Write($"['{TrainMon.GetName()}'이(가) '{GameManager.lm_Skill[Player.Get_Key() - 49].Get_SkillName()}'을(를) 배우는데 성공했습니다.\n]"); } else { Console.Write("[지우실 기술을 선택해주세요.]\n"); TrainMon.SkillNameShow(); Console.Write("유저 : "); Player.Set_Key(); TrainMon.HaveSkill.Remove(TrainMon.HaveSkill[Player.Get_Key() - 49]); Console.Write($"['{TrainMon.GetName()}'이(가) 스킬을 완벽하게 잊었습니다.]\n\n"); } }
public Monster(Monster temp) { MonName = temp.GetName(); MonHP = temp.GetHP(); MonPower = temp.GetPower(); HaveSkill = new List <Skill>(); HaveSkill.Add(temp.HaveSkill[0]); }
static void MoveDon(string area, ref User Player, ref GM GameManager) { Random Rand = new Random(); int RandEvent; while (true) { Console.Write("[행동을 선택해주세요.]\n[1. 이동 2. 돌아가기]\n유저 : "); Player.Set_Key(); if (Player.Get_Key() == '1') { Console.WriteLine("[앞으로 한걸음 이동했습니다.]"); RandEvent = Rand.Next(0, 3); if (RandEvent > 0)//몬스터와 조우 { Monster Mon = new Monster(); GameManager.ProdMon(area, ref Mon); Console.WriteLine(string.Format($"[\"{Mon.GetName()}\"이(가) 등장했습니다.]")); Console.Write(string.Format($"[\"{Mon.GetName()}\"와 전투배틀을 진행하시 겠습니까?]\n[1. 예 2. 아니오]\n유저 : ")); Player.Set_Key(); if (Player.Get_Key() == '1') { BattleMon(ref Mon, ref Player, ref GameManager); } else { Console.WriteLine("[전투를 진행하지 않습니다.]"); } } else { Console.WriteLine("[아무일도 일어나지 않았습니다.]"); } Console.WriteLine(); } else { Console.WriteLine("[마을로 돌아 갑니다.]"); Console.WriteLine(); break; } } }
//몬스터 검색 public int SelectMon(Monster MainMon) { switch (MainMon.GetSponPoint()) { case "grass": for (int i = 0; i < GrassMon.Count(); i++) { if (MainMon.GetName() == GrassMon[i].GetName()) { return(GrassMon[i].GetHP()); } } break; case "Mount": for (int i = 0; i < MountMon.Count(); i++) { if (MainMon.GetName() == MountMon[i].GetName()) { return(MountMon[i].GetHP()); } } break; case "River": for (int i = 0; i < RiverMon.Count(); i++) { if (MainMon.GetName() == RiverMon[i].GetName()) { return(RiverMon[i].GetHP()); } } break; } return(0); }
static void BattleMon(ref Monster Mon, ref User Player, ref GM GameManager) { Console.WriteLine("[전투가 시작되었습니다.]"); Console.WriteLine("[전투의 시작은 최근에 사용된 몬스터를 소환해 진행됩니다.]\n[처음에는 첫번째 몬스터가 소환됩니다.]"); Player.ChoiceMon(); Console.WriteLine("['{0}' 이(가) 필드에 소환되었습니다.]\n", Player.Get_UseMonName()); Player.Show_UseMon(); while (true) { Console.Write("[행동을 선택해주세요.]\n[1. 공격 2. 막기 3. 아이템 사용 4. 몬스터 변경 5. 도망]\n유저 : "); Player.Set_Key(); if (Player.Get_Key() == '1') { Console.WriteLine("[사용할 스킬을 선택해주세요.]"); Player.UseMonSkill(); Console.Write("유저 : "); Player.Set_Key(); Console.WriteLine($"[나의 '{Player.Get_UseMonName()}'이(가) {Player.UseMonSkillName(Player.Get_Key() - 49)}(으)로 공격했습니다.]"); Player.UseMonAtk(ref Mon, Player.Get_Key() - 49); } else if (Player.Get_Key() == '2') { Console.WriteLine("[나의 '{0}'이(가 막기를 시전했습니다.)]", Player.Get_UseMonName()); Player.ShileON_OFF(); } else if (Player.Get_Key() == '3') { Console.WriteLine("[아이템을 사용합니다.]"); if (Player.UseItem_Show()) { Console.WriteLine("[사용할 아이템을 선택해주세요.]"); Player.Set_Key(); Player.Item_Use(ref GameManager, ref Player, Mon); } } else if (Player.Get_Key() == '4') { Player.MonShow(); Console.Write("[사용하실 포켓몬을 선택해주세요.]\n유저 : "); Player.Set_Key(); Player.UseMon_change(); } else { Console.WriteLine("[도망치는데 성공했습니다.]"); break; } if (Mon.GetHP() <= 0) { Console.WriteLine("[상대몬스터를 처치하는데 성공했습니다.]\n"); GameManager.Give_Price(ref Player); Player.BattleEnd(); break; } if (Player.Get_Shilde()) { Console.WriteLine("[상대 '{0}'이(가) 공격했습니다.]", Mon.GetName()); Mon.AtkMon(ref Player, 1); } else { Console.WriteLine("[막기에 성공했습니다.]"); Player.ShileON_OFF(); } Player.TrunEnd(); if (Player.Get_UseMonHP() <= 0) { Console.WriteLine("[나의 '{0}'이(가) 공격 받아 HP가 0이 되었습니다.]", Player.Get_UseMonName()); Console.Write("[몬스터를 변경하시겠습니까?]\n[1. 예 2. 아니오 도망갈래요]\n 유저 : "); Player.Set_Key(); if (Player.Get_Key() == '2') { Console.WriteLine("[전투를 종료합니다.]"); break; } else { Player.MonShow(); Console.Write("[사용하실 포켓몬을 선택해주세요.]\n유저 : "); Player.Set_Key(); Player.UseMon_change(); } } GameManager.BattleResult(ref Player, ref Mon); } }
public string Get_UseMonName() { return(UseMon.GetName()); }