Example #1
0
 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("[이미 체력이 최대치입니다.]");
         }
     }
 }
Example #2
0
 public Monster(Monster temp)
 {
     MonName   = temp.GetName();
     MonHP     = temp.GetHP();
     MonPower  = temp.GetPower();
     HaveSkill = new List <Skill>();
     HaveSkill.Add(temp.HaveSkill[0]);
 }
Example #3
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()));
        }
Example #4
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);
            }
        }
Example #5
0
 public void Set_HaveMonHP(int index, Monster temp)
 {
     HaveMonster[index].SetHp(temp.GetHP());
 }
Example #6
0
 public int Get_UseMonHP()
 {
     return(UseMon.GetHP());
 }