Beispiel #1
0
        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");
            }
        }
Beispiel #2
0
 public Monster(Monster temp)
 {
     MonName   = temp.GetName();
     MonHP     = temp.GetHP();
     MonPower  = temp.GetPower();
     HaveSkill = new List <Skill>();
     HaveSkill.Add(temp.HaveSkill[0]);
 }
Beispiel #3
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;
                }
            }
        }
Beispiel #4
0
        //몬스터 검색
        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);
        }
Beispiel #5
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);
            }
        }
Beispiel #6
0
 public string Get_UseMonName()
 {
     return(UseMon.GetName());
 }