본문 바로가기

정리 카테고리/실습_과제

C# 머드게임 기초 _ 굶주린 늑대를 잡아보자.

1.요구 사항


            //--------------- 1단계 --------------------
            // 1 - 전사 
            // 2 - 마법사 
            // 3 - 도적 
            // 1,2,3 이외 선택시 - 잘못된 선택 입니다. 
            // 당신의 직업은 xxx입니다.
 
            //--------------- 2단계 --------------------
            // 당신의 이름은 무엇입니까? [입력]
            // 당신의 이름은 xxx입니다.
 
            //--------------- 3단계 --------------------
            // 초기 레벨을 설정해주세요 [입력]
            // 당신의 레벨은 xxx입니다.
 
            //--------------- 4단계 -------------------
            // 전사면 "검", 마법사면 "지팡이", 도적이면 "단검"을 지급 합니다.
            // 당신은 xx를 지급 받았습니다.
 
            //--------------- 5단계 -------------------
            // 검의 데미지는 5입니다.
            // 지팡이의 데미지는 4입니다.
            // 단검의 데미지는 3입니다.
            // 당신의 무기(xxx)의 데미지는 xx입니다.
 
            //---------------- 6단계 -------------------
            // 퀘스트의 난이도를 입력해주세요. [입력]
            // "상" 일경우 10마리 
            // "중" 일경우 5마리 
            // "하" 일경우 2마리 
            // 퀘스트를 받았습니다. <<퀘스트의 내용 : 굶주린 늑대 xx마리를 잡아오세요 >> 
 
            //-------------- 7단계 ---------------------
            // 명령어를 입력해주세요. [입력]: "늑대 봐"
            // 굶주린 늑대가 있습니다. 
            // 굶주린 늑대는 매우 지쳐 보입니다.
            // 굶주린 늑대의 체력은 8/20 입니다.
 
            //------------- 8단계 ----------------------
            // 명령어를 입력해주세요. [입력]: "늑대 쳐"
            // 당신은 늑대를 공격 했습니다. xx/20
            // 당신은 늑대를 공격 했습니다. xx/20
            // 당신은 늑대를 공격 했습니다. xx/20
            // 늑대가 죽었습니다. 
 
 
            //----------------9단계 -------------------
            // 명령어를 입력해주세요. [입력]: "몇마리 남았음?"
            // 굶주린 늑대가 xx마리 남았습니다.
 
            //---------------- 10단계 -----------------
            //for문을 사용해서 남은 굶주린 늑대를 모두 잡으세요.
            // 명령어를 입력해주세요. [입력]: "늑대 모두 쳐"
            //굶주린 늑대가 죽었습니다. (8 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (7 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (6 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (5 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (4 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (3 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (2 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (1 마리 / 10 마리)
            //굶주린 늑대가 죽었습니다. (0 마리 / 10 마리)
            //퀘스트를 모두 끝마쳤습니다. 
            //마을로 돌아갑니다.
 




2.1 결과 영상




3.1 소스 코드

  
   class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("직업을 선택하셔야 됩니다.");
            Console.WriteLine("1.전사 2.마법사 3.도적 중에 골라주세요.");
            Console.WriteLine("번호를 입력해 골라주세요::");


            int power = 0;//공격력 저장
            int wolfHp = 0;//늑대 피 저장
            int questCount = 0;//퀘스트 수행 상태 확인
            int questTotal = 0;//퀘스트 총량 확인

            int select = int.Parse(Console.ReadLine());
            if (select == 1)
            {
                Console.WriteLine("당신의 직업은 전사  입니다.");
            }
            else if(select == 2)
            {
                Console.WriteLine("당신의 직업은 마법사  입니다.");
            }
            else if(select == 3)
            {
                Console.WriteLine("당신의 직업은 도적  입니다.");
            }
            else
            {
                Console.WriteLine("잘못된 입력입니다.");
            }



            if(select == 1|| select ==2|| select == 3)
            {
                Console.WriteLine("당신의 이름은 무엇인가요?");
                Console.Write("::");
                string usrName = Console.ReadLine();
                Console.Write("당신의 이름은 " + usrName + " 입니다.");
            }
            else { }

            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("초기 레벨을 선택해 주세요");
                Console.Write("숫자::");
                int selectLevel = int.Parse(Console.ReadLine());
                Console.WriteLine("초기 레벨은 "+selectLevel+" 입니다.");
            }
            else { }




            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("전사는 검,마법사는 지팡이, 도적이면 단검을 지급받습니다.");
                if (select == 1)
                {
                    Console.WriteLine("검을 지급 받았습니다.");
                }
                else if(select == 2)
                {
                    Console.WriteLine("지팡이를 지급 받았습니다.");
                }
                else if(select == 3)
                {
                    Console.WriteLine("단검을 지급 받았습니다.");
                }
                else { }
            }
            else { }



            if (select == 1 || select == 2 || select == 3)
            {
                //Console.WriteLine("검의 데미지는 5입니다.");
                //Console.WriteLine("지팡이의 데미지는 4입니다.");
                //Console.WriteLine("단검의 데미지는 3입니다.");
                if (select == 1)
                {
                    Console.WriteLine("당신의 무기 검의 데미지는 5입니다.");
                    power = 5;
                }
                else if (select == 2)
                {
                    Console.WriteLine("당신의 무기 지팡이의 데미지는 4입니다.");
                    power = 4;
                }
                else if (select == 3)
                {
                    Console.WriteLine("당신의 무기 단검의 데미지는 3입니다.");
                    power = 3;
                }
                else { }
            }
            else { }



            if(select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("퀘스트의 난이도를 선택해 주세요.");
                Console.WriteLine("상:10마리 중:5마리 하:2마리");
                Console.WriteLine("상,중,하 중 하나를 입력해 주세요.");
                string questSelect = Console.ReadLine();
                if(questSelect == "상")
                {
                    Console.WriteLine("퀘스트를 받았습니다.  <<퀘스트의 내용 : 굶주린 늑대 10마리를 잡아오세요. ");
                    questCount = 10;
                    questTotal = 10;
                }
                else if(questSelect == "중")
                {
                    Console.WriteLine("퀘스트를 받았습니다.  <<퀘스트의 내용 : 굶주린 늑대 5마리를 잡아오세요. ");
                    questCount = 5;
                    questTotal = 5;
                }
                else if(questSelect == "하")
                {
                    Console.WriteLine("퀘스트를 받았습니다.  <<퀘스트의 내용 : 굶주린 늑대 2마리를 잡아오세요. ");
                    questCount = 2;
                    questTotal = 2;
                }
                else
                {
                    Console.WriteLine("잘못된 입력입니다.");
                }

            }
            else { }



            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 늑대 봐");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if(usrCommand == "늑대 봐")
                {
                    Console.WriteLine("굶주린 늑대가 있습니다.");
                    Console.WriteLine("굶주린 늑대는 매우 지쳐 보입니다.");
                    Console.WriteLine("굶주린 의 체력은 8/20 입니다.");
                    wolfHp = 8;
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }
            }
            else { }



            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 늑대 쳐");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if (usrCommand == "늑대 쳐")
                {
                    for(int i = 0; wolfHp > 0; i++)
                    {
                        wolfHp -= power;
                        Console.WriteLine("당신은 늑대를 공격했습니다. " + wolfHp + "/20");
                    }
                    Console.Write("늑대가 죽었습니다.");
                    questCount--;
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }
                
            }
            else { }





            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 몇마리 남았음? ");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if(usrCommand == "몇마리 남았음?")
                {
                    Console.WriteLine("굶주린 늑대가 " + questCount + "마리 남았습니다.");
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }

            }
            else { }





            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 늑대 모두 쳐");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if (usrCommand == "늑대 모두 쳐")
                {
                    for (; questCount > 0; )
                    {
                        questCount--;
                        Console.WriteLine("굶주린 늑대가 죽었습니다. (" + questCount + "마리 / "+questTotal+"마리)");
                    }
                    questCount--;
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }
                Console.WriteLine("퀘스트를 모두 끝마쳤습니다.");
                Console.WriteLine("마을로 돌아갑니다.");
            }
            else { }




                Console.ReadKey();
        }
    }








2.2 결과 영상

위의 영상과 다른점은 굶주린 늑대가 남은 마리수가 아닌 채운(퀘스트를 수행한 마리수)를 보여주는 방식이다.





3.2 소스 코드

  
   class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("직업을 선택하셔야 됩니다.");
            Console.WriteLine("1.전사 2.마법사 3.도적 중에 골라주세요.");
            Console.WriteLine("번호를 입력해 골라주세요::");


            int power = 0;//공격력 저장
            int wolfHp = 0;//늑대 피 저장
            int questCount = 0;//퀘스트 수행 상태 확인
            int questTotal = 0;//퀘스트 총량 확인

            int select = int.Parse(Console.ReadLine());
            if (select == 1)
            {
                Console.WriteLine("당신의 직업은 전사  입니다.");
            }
            else if(select == 2)
            {
                Console.WriteLine("당신의 직업은 마법사  입니다.");
            }
            else if(select == 3)
            {
                Console.WriteLine("당신의 직업은 도적  입니다.");
            }
            else
            {
                Console.WriteLine("잘못된 입력입니다.");
            }



            if(select == 1|| select ==2|| select == 3)
            {
                Console.WriteLine("당신의 이름은 무엇인가요?");
                Console.Write("::");
                string usrName = Console.ReadLine();
                Console.Write("당신의 이름은 " + usrName + " 입니다.");
            }
            else { }

            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("초기 레벨을 선택해 주세요");
                Console.Write("숫자::");
                int selectLevel = int.Parse(Console.ReadLine());
                Console.WriteLine("초기 레벨은 "+selectLevel+" 입니다.");
            }
            else { }




            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("전사는 검,마법사는 지팡이, 도적이면 단검을 지급받습니다.");
                if (select == 1)
                {
                    Console.WriteLine("검을 지급 받았습니다.");
                }
                else if(select == 2)
                {
                    Console.WriteLine("지팡이를 지급 받았습니다.");
                }
                else if(select == 3)
                {
                    Console.WriteLine("단검을 지급 받았습니다.");
                }
                else { }
            }
            else { }



            if (select == 1 || select == 2 || select == 3)
            {
                //Console.WriteLine("검의 데미지는 5입니다.");
                //Console.WriteLine("지팡이의 데미지는 4입니다.");
                //Console.WriteLine("단검의 데미지는 3입니다.");
                if (select == 1)
                {
                    Console.WriteLine("당신의 무기 검의 데미지는 5입니다.");
                    power = 5;
                }
                else if (select == 2)
                {
                    Console.WriteLine("당신의 무기 지팡이의 데미지는 4입니다.");
                    power = 4;
                }
                else if (select == 3)
                {
                    Console.WriteLine("당신의 무기 단검의 데미지는 3입니다.");
                    power = 3;
                }
                else { }
            }
            else { }



            if(select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("퀘스트의 난이도를 선택해 주세요.");
                Console.WriteLine("상:10마리 중:5마리 하:2마리");
                Console.WriteLine("상,중,하 중 하나를 입력해 주세요.");
                string questSelect = Console.ReadLine();
                if(questSelect == "상")
                {
                    Console.WriteLine("퀘스트를 받았습니다.  <<퀘스트의 내용 : 굶주린 늑대 10마리를 잡아오세요. ");
                    questCount = 10;
                    questTotal = 10;
                }
                else if(questSelect == "중")
                {
                    Console.WriteLine("퀘스트를 받았습니다.  <<퀘스트의 내용 : 굶주린 늑대 5마리를 잡아오세요. ");
                    questCount = 5;
                    questTotal = 5;
                }
                else if(questSelect == "하")
                {
                    Console.WriteLine("퀘스트를 받았습니다.  <<퀘스트의 내용 : 굶주린 늑대 2마리를 잡아오세요. ");
                    questCount = 2;
                    questTotal = 2;
                }
                else
                {
                    Console.WriteLine("잘못된 입력입니다.");
                }

            }
            else { }



            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 늑대 봐");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if(usrCommand == "늑대 봐")
                {
                    Console.WriteLine("굶주린 늑대가 있습니다.");
                    Console.WriteLine("굶주린 늑대는 매우 지쳐 보입니다.");
                    Console.WriteLine("굶주린 의 체력은 8/20 입니다.");
                    wolfHp = 8;
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }
            }
            else { }



            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 늑대 쳐");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if (usrCommand == "늑대 쳐")
                {
                    for(int i = 0; wolfHp > 0; i++)
                    {
                        wolfHp -= power;
                        Console.WriteLine("당신은 늑대를 공격했습니다. " + wolfHp + "/20");
                    }
                    Console.Write("늑대가 죽었습니다.");
                    questCount--;
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }
                
            }
            else { }





            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 몇마리 남았음? ");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if(usrCommand == "몇마리 남았음?")
                {
                    Console.WriteLine("굶주린 늑대가 " + questCount + "마리 남았습니다.");
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }

            }
            else { }





            if (select == 1 || select == 2 || select == 3)
            {
                Console.WriteLine("명령어를 입력해 주세요.");
                Console.WriteLine("가능한 명령어: 늑대 모두 쳐");
                Console.WriteLine("명령어::");
                string usrCommand = Console.ReadLine();
                if (usrCommand == "늑대 모두 쳐")
                {
                    for (; questCount > 0; )
                    {
                        questCount--;
                        Console.WriteLine("굶주린 늑대가 죽었습니다. (" + (questTotal-questCount) + "마리 / "+questTotal+"마리)");
                    }
                    questCount--;
                }
                else
                {
                    Console.WriteLine("가능한 명령어가 아닙니다.");
                }
                Console.WriteLine("퀘스트를 모두 끝마쳤습니다.");
                Console.WriteLine("마을로 돌아갑니다.");
            }
            else { }




                Console.ReadKey();
        }
    }