public void Item_Use(ref GM GameManager, ref User Player, Monster Other) { if (HaveItem[Key - 49].Get_Name() == "몬스터 볼" && HaveItem[Key - 49].Get_Count() > 0) { if (Other.GetHP() <= 30) { HaveMonster.Add(new Monster(Other)); Console.WriteLine("[몬스터를 잡는데 성공했습니다.]"); Player.MonShow(); Other.SetHp(0); } else { Console.WriteLine("[몬스터를 잡는데 실패 했습니다.]"); } HaveItem[Key - 49].Down_count(); } else if (HaveItem[Key - 49].Get_Name() == "상처약" && HaveItem[Key - 49].Get_Count() > 0) { if (UseMon.GetHP() < 100) { HaveItem[Key - 49].Down_count(); UseMon.SetHp(100); } else { Console.WriteLine("[이미 체력이 최대치입니다.]"); } } }
public Monster(Monster temp) { MonName = temp.GetName(); MonHP = temp.GetHP(); MonPower = temp.GetPower(); HaveSkill = new List <Skill>(); HaveSkill.Add(temp.HaveSkill[0]); }
public void UseMonAtk(ref Monster OtherMon, int index) { Random Rand = new Random(); int damage; damage = Rand.Next(1, 3); if (damage > 1) { Console.WriteLine("[공격이 생각보다 효과가 컸습니다.]"); } OtherMon.SetHp(OtherMon.GetHP() - (UseMon.GetPower() * damage * UseMon.HaveSkill[index].Get_SkillDamage())); }
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 void Set_HaveMonHP(int index, Monster temp) { HaveMonster[index].SetHp(temp.GetHP()); }
public int Get_UseMonHP() { return(UseMon.GetHP()); }