c# 강의/과제

20200409 - while,switch(장비 착용,해제,습득,삭제 등 분기처리)

쪼혀 2020. 4. 9. 23:56
        public void weaponHave()
        {
            bool itemEqip = true; //장비여부
            string itemName = "장검";

            while (true)
            {
                Console.WriteLine($"소지중인 아이템: { itemName }");
                Console.WriteLine("아이템명 '착용' / 아이템명 '해제' / 아이템명 '집어' / 아이템명 '버려'");
                Console.Write("명령어를 입력 해주세요: ");
                var inputMsg = Console.ReadLine();

                var inputMsgArr = inputMsg.Split(' ');

                switch (inputMsgArr[0])
                {
                    case "장검":
                        //ㅡㅡㅡㅡㅡㅡㅡㅡㅡ 착용 ㅡㅡㅡㅡㅡㅡㅡㅡㅡ
                        if (inputMsgArr[1] == "착용")
                        {
                            if (itemEqip && itemName != null)
                            {
                                Console.WriteLine("이미 착용 되었습니다.");
                            }
                            else if (itemName == null)
                            {
                                Console.WriteLine("장검을 가지고 있지않습니다.");
                            }
                            else
                            {
                                itemEqip = true;
                                Console.WriteLine($"{inputMsgArr[0]}을 착용했습니다.");
                            }
                        }

                        //ㅡㅡㅡㅡㅡㅡㅡㅡㅡ 해제 ㅡㅡㅡㅡㅡㅡㅡㅡㅡ
                        if (inputMsgArr[1] == "해제")
                        {
                            if (itemEqip && itemName != null)
                            {
                                itemEqip = false;
                                Console.WriteLine("해제 했습니다.");
                            }
                            else if (itemName == null)
                            {
                                Console.WriteLine("장검을 가지고 있지않습니다.");
                            }
                            else
                            {
                                Console.WriteLine("해제 할 수 없습니다.");
                            }
                        }

                        //ㅡㅡㅡㅡㅡㅡㅡㅡㅡ 버려 ㅡㅡㅡㅡㅡㅡㅡㅡㅡ
                        if (inputMsgArr[1] == "버려")
                        {
                            if (itemName != null)
                            {
                                if (itemEqip)
                                {
                                    Console.WriteLine("착용된 아이템은 버릴수 없음");
                                }
                                else
                                {
                                   // itemEqip = false;
                                    itemName = null;
                                    Console.WriteLine("장검을 버렸습니다.");
                                }
                            }
                            else
                            {
                                Console.WriteLine("장검을 가지고 있지않습니다.");
                            }
                        }

                        //ㅡㅡㅡㅡㅡㅡㅡㅡㅡ 집어 ㅡㅡㅡㅡㅡㅡㅡㅡㅡ
                        if (inputMsgArr[1] == "집어")
                        {
                            if (itemName == "장검")
                            {
                                Console.WriteLine("이미 장검을 소지하고 있음");
                            }
                            else
                            {
                                itemName = "장검";
                                Console.WriteLine("장검을 획득하였습니다");
                            }
                        }
                        break;
                    default:
                        break;
                }
                Console.WriteLine();
            }
        }