C#/수업내용

2020.04.09. 수업내용 - 아이템 확률적으로 강화하기(열거형, Switch)

dev_sr 2020. 4. 9. 12:29

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
class App
    {
        enum WeaponType
        {
            Sword,
            Bow,
            Axe
        }
 
        public App()
        {
            Console.WriteLine("2020-04-09\n");
            
            Console.Write("소지 중인 아이템 : ");
            string haveWeapon = Console.ReadLine();
            string[] Weapons = haveWeapon.Split(',');
            WeaponType firstWeapon = (WeaponType)Enum.Parse(typeof(WeaponType), Weapons[0], true);
            WeaponType secondWeapon = (WeaponType)Enum.Parse(typeof(WeaponType), Weapons[1], true);
 
            Console.Write("강화 하시려는 무기의 이름을 입력해주세요.  ");
            string upgradeWeaponInput = Console.ReadLine();
            WeaponType upgradeWeapon = (WeaponType)Enum.Parse(typeof(WeaponType), upgradeWeaponInput, true);
 
            //강화 확률 만들기
            Random upgradeChanceRand = new Random();
            int upgradeChance = upgradeChanceRand.Next(0100);
 
            if (firstWeapon == upgradeWeapon || secondWeapon == upgradeWeapon)
            {
 
                Console.Write("강화 하시려면 \"강화\" 를 입력해주세요  ");
                string strUpgradeInput = Console.ReadLine();
                Console.WriteLine("(강화 확률은 Sword : 30%, Bow : 25%, Axe : 20% 입니다.)\n");
 
                switch (upgradeWeapon)
                {
                    case WeaponType.Sword:
                        {
                            if (upgradeChance <=30 )
                            {
                                Console.WriteLine("아이템 ({0}) 강화에 성공했습니다."WeaponType.Sword);
 
                                if(WeaponType.Sword==firstWeapon)
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0}(+1),{1}"WeaponType.Sword, secondWeapon);
                                }
                                else
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0}(+1),{1}"WeaponType.Sword, firstWeapon);
                                }
                               
                            }
                            else
                            {
                                Console.WriteLine("아이템 ({0}) 강화에 실패했습니다."WeaponType.Sword);
                                if (WeaponType.Sword == firstWeapon)
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0},{1}"WeaponType.Sword, secondWeapon);
                                }
                                else
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0},{1}"WeaponType.Sword, firstWeapon);
                                }
                            }
                            break;
                        }
 
                    case WeaponType.Bow:
                        {
                            if (upgradeChance <= 25)
                            {
                                Console.WriteLine("아이템 ({0}) 강화에 성공했습니다."WeaponType.Bow);
                                if (WeaponType.Bow == firstWeapon)
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0}(+1),{1}"WeaponType.Bow, secondWeapon);
                                }
                                else
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0}(+1),{1}"WeaponType.Bow, firstWeapon);
                                }
                            }
                            else
                            {
                                Console.WriteLine("아이템 ({0}) 강화에 실패했습니다."WeaponType.Bow);
                                if (WeaponType.Bow == firstWeapon)
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0},{1}"WeaponType.Bow, secondWeapon);
                                }
                                else
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0},{1}"WeaponType.Bow, firstWeapon);
                                }
                            }
                            break;
                        }
 
                    case WeaponType.Axe:
                        {
                            if (upgradeChance <100 || upgradeChance>=0)
                            {
                                Console.WriteLine("아이템 ({0}) 강화에 성공했습니다."WeaponType.Axe);
                                if (WeaponType.Axe == firstWeapon)
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0}(+1),{1}"WeaponType.Axe, secondWeapon);
                                }
                                else
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0}(+1),{1}"WeaponType.Axe, firstWeapon);
                                }
                            }
                            else
                            {
                                Console.WriteLine("아이템 ({0}) 강화에 실패했습니다."WeaponType.Axe);
                                if (WeaponType.Axe == firstWeapon)
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0},{1}"WeaponType.Axe, secondWeapon);
                                }
                                else
                                {
                                    Console.WriteLine("소지 중인 아이템 : {0},{1}"WeaponType.Axe, firstWeapon);
                                }
                            }
                            break;
                        }
 
                }
 
            }
            else
            {
                Console.WriteLine("해당 아이템을 가지고 있지 않습니다.");
            }
    }
 
 

 

bow와 sword를 입력받고 sword 강화 성공

 

Bow 와 axe를 입력 받고 bow 강화 실패

 

Sword,Axe를 입력받고 axe 성공