Beispiel #1
0
 static void Battle_show(ref cPlayer User, ref cPlayer Mon)
 {
     Console.WriteLine("##########################################################");
     Console.WriteLine("<Player state>");
     Console.WriteLine("HP : " + User.Get_HP());
     Console.WriteLine("MP : " + User.Get_MP());
     Console.WriteLine("<Monster state>");
     Console.WriteLine("HP : " + Mon.Get_HP());
     Console.WriteLine("##########################################################");
 }
Beispiel #2
0
 /*//문제 2 : 반복문
  * 플레이어와 몬스터가 둘중 한명이 사망할 때까지 전투를 한다.
  * 플레이어는 일반공격과 스킬공격, 막기를 할 수 있다.
  * 몬스터는 50%확률로 공격을 한다.
  * 플레이어는 공격력과 체력, 마나를 가진다.
  * 마나는 한턴에 10씩 회복된다.
  * 몬스터를 처치하면 경험치를 획득한다.
  * *******************************************
  * 플레이어의 상태값(변수) : 공격력, 체력, 마나, 막기 상태, 경험치
  * 몬스터의 상태값 : 공력력, 체력, 공격 상태값, 경험치
  * 시스템 상태값 : 랜덤 변수, 문자열 변수
  * ********************************************
  * 플레이어 기능(함수) : 공격, 스킬공격, 막기
  * 몬스터의 기능 : 공격(랜덤확률)
  * 시스템 기능 : 자동 반복(턴 체크, 유저 마나 회복, 전투 종료 조건 확인, 전투결과 출력)
  */
 static void Display(ref cPlayer user)
 {
     Console.WriteLine("##########################################################");
     Console.WriteLine("<Player state>");
     Console.WriteLine("HP : " + user.Get_HP());
     Console.WriteLine("MP : " + user.Get_MP());
     Console.WriteLine("Power : " + user.Get_Power());
     Console.WriteLine("EXP : " + user.Get_EXP());
     Console.WriteLine("##########################################################");
 }
Beispiel #3
0
 public void fc_Attack(ref cPlayer Them, bool Skill)
 {
     if (Skill == true) //일반 공격 시
     {
         int Temp_HP = Them.Get_HP() - Power;
         Them.Set_HP(Temp_HP);
     }
     else //스킬 공격
     {
         int Temp_HP = Them.Get_HP() - (int)(Power * 1.5);
         Them.Set_HP(Temp_HP);
     }
 }
Beispiel #4
0
        public void Battle()
        {
            cPlayer User    = new cPlayer(100, 10, 0, 50);
            cPlayer Monster = new cPlayer(100, 10, 100, 0);
            Random  _Random = new Random();
            int     MonAtk  = 0;

            Console.WriteLine("##########################################################\n" + "전투를 시작합니다.\n" +
                              "당신은 공격과 스킬공격, 막기를 할수 있으며, 몬스터는 50%확률로 공격을 합니다.\n" + "몬스터 또는 당신의 HP가 0이되면 게임은 끝납니다.\n" +
                              "몬스터가 당신을 죽이기 전에 먼저 몬스터를 처치하십시오\n" + "##########################################################\n");
            Display(ref User);
            while (true)
            {
                string Choice = "";

                Console.Write("무슨 행동을 하시겠습니까? \n a. 일반 공격 s. 스킬 공격 d. 막기\n(턴을 넘기시려면 아무키나 누르시면 됩니다.)\n - ");
                Choice = Console.ReadLine();
                switch (Choice)
                {
                case "a":
                    if (User.Get_MP() >= 10)
                    {
                        Console.WriteLine("몬스터를 일반공격합니다.");
                        User.Set_MP(User.Get_MP() - 10);
                        User.fc_Attack(ref Monster, true);
                    }
                    break;

                case "s":
                    if (User.Get_MP() >= 20)
                    {
                        Console.WriteLine("몬스터를 스킬공격합니다.");
                        User.Set_MP(User.Get_MP() - 20);
                        User.fc_Attack(ref Monster, false);
                    }
                    break;

                case "d":
                    if (User.Get_MP() >= 10)
                    {
                        Console.WriteLine("막기를 시전합니다.");
                    }
                    User.Set_MP(User.Get_MP() - 10);
                    User.Set_Shilde();
                    break;

                default:
                    Console.WriteLine("턴을 넘김니다.");
                    break;
                }

                MonAtk = _Random.Next(0, 3);
                if (MonAtk >= 1)
                {
                    if (User.Get_Shilde() == false)
                    {
                        if (MonAtk == 1)
                        {
                            Console.WriteLine("몬스터가 일반공격을 시전했습니다.");
                            Monster.fc_Attack(ref User, true);
                        }
                        else if (MonAtk == 2)
                        {
                            Console.WriteLine("몬스터가 스킬공격을 시전했습니다.");
                            Monster.fc_Attack(ref User, false);
                        }
                    }
                    else
                    {
                        Console.WriteLine("막기에 성공했습니다.");
                        User.Set_MP(User.Get_MP() + 30);
                    }
                }
                else
                {
                    Console.WriteLine("몬스터가 공격하지 않았습니다.");
                }
                if (User.Get_Shilde() == true)
                {
                    User.Set_Shilde();
                }

                Battle_show(ref User, ref Monster);

                if (User.Get_MP() < 100)
                {
                    Console.WriteLine("마나를 회복합니다. MP +5");
                    User.Set_MP(User.Get_MP() + 5);
                }

                if (User.Get_HP() == 0)
                {
                    Console.Write("You Die~~");
                    break;
                }
                else if (Monster.Get_HP() == 0)
                {
                    Console.Write("You Win!!" + "Get EXP : " + Monster.Get_EXP());
                    break;
                }
            }
        }