View difference between Paste ID: AfRMi6MF and ps9XkyDQ
SHOW: | | - or go back to the newest paste.
1
using System;
2
3
namespace C_sharp_Light
4
{
5
    class Program
6
    {
7
        static void Main(string[] args)
8
        {
9
            Random rand = new Random();
10
11-
            int playerHp = rand.Next(185,215);
11+
            int playerHp = rand.Next(185, 215);
12-
            int playerManaMax = rand.Next(80,180);
12+
            int playerManaMax = rand.Next(80, 180);
13
            int playerMana = playerManaMax;
14-
            int playerForce = rand.Next(1, 11); 
14+
            int playerForce = rand.Next(1, 11);
15
16
            int bossHp = rand.Next(185, 215);
17
            int bossManaMax = rand.Next(80, 180);
18
            int bossMana = bossManaMax;
19-
            int bossForce = rand.Next(1,11);
19+
            int bossForce = rand.Next(1, 11);
20
            //Fire Ball, Regain, FireStorm, Skip, ForceUp, IceSpike
21
22
            int manaFireBall = 10;
23
            int damageFireBall = 18;
24
25
            int manaRegain = 35;
26
            int recoveryOfRegain = 40;
27
28
            int manaFireStorm = 40;
29
            int damageFireStorm = 30;
30
            int requiredForceFireStorm = 7;
31-
                Console.WriteLine("Заклинания:\n" +
31+
32-
                    "1 - Огненный шар - 10 манны; урон базовый 18\n" +
32+
            int recoveryManeOfSkip = 40;
33-
                    "2 - Восстановление - 35 манны; восстановление 40\n" +
33+
34-
                    "3 - Огненный шторм (сила >= 7) - 40 манны; базовый урон 30 (всем)\n" +
34+
            int manaForceUp = 10;
35-
                    "4 - пропуск хода - восстановление манны 40 +- 5\n" +
35+
            int improveForce = 1;
36-
                    "5 - Заклинание силы - 10 манны; +1 силы \n" +
36+
37-
                    "6 - Шипы из льда (сила > 4) - 30 манны; Базовый урон 45");
37+
            int manaIceSpike = 30;
38
            int damageIceSpike = 45;
39
            int requiredForceIceSpike = 5;
40
41
            int damage;
42
            int recoveryHp;
43
            while (playerHp > 0 && bossHp > 0)
44
            {
45
                Console.Clear();
46
47
                // Описание заклинаний игрока
48
                Console.SetCursorPosition(0, 15);
49
                Console.ForegroundColor = ConsoleColor.Red;
50
                Console.WriteLine($"Заклинания:\n" +
51
                    $"1 - Огненный шар - {manaFireBall} манны; урон базовый {damageFireBall}\n" +
52
                    $"2 - Восстановление - {manaRegain} манны; восстановление {recoveryOfRegain}\n" +
53
                    $"3 - Огненный шторм (требования: сила >= {requiredForceFireStorm}) - {manaFireStorm} манны; базовый урон {damageFireStorm} (всем)\n" +
54
                    $"4 - пропуск хода - восстановление манны {recoveryManeOfSkip} +- 5\n" +
55
                    $"5 - Заклинание силы - {manaForceUp} манны; +{improveForce} силы \n" +
56
                    $"6 - Шипы из льда (требования: сила >= {requiredForceIceSpike}) - манны{manaIceSpike}; Базовый урон {damageIceSpike}");
57
58
                // Вывод информации о боссе и о игроке
59
                Console.ForegroundColor = ConsoleColor.Blue;
60
                {
61
                    Console.SetCursorPosition(0, 0);
62
                    Console.Write($"Здоровье игрока = {playerHp}");
63
                    Console.SetCursorPosition(28, 0);
64
                    Console.Write($"Здоровье Ктулху = {bossHp}");
65
                }
66
                {
67-
                        if ((playerMana - 10) >= 0)
67+
68
                    Console.Write($"Манна игрока = {playerMana}");
69-
                            playerMana -= 10;
69+
70-
                            damage = 18 + rand.Next(playerForce / 2 + playerForce);
70+
71
                }
72
                {
73
                    Console.SetCursorPosition(0, 2);
74
                    Console.Write($"Сила игрока = {playerForce}");
75
                    Console.SetCursorPosition(28, 2);
76
                    Console.Write($"Сила Ктулху = {bossForce}");
77
                }
78-
                        if ((playerMana - 35) >= 0)
78+
79
                // Ход игрока
80-
                            recoveryHp = 40;
80+
81
                Console.Write("\n\nВаш ход. Какое заклинание вы выберите? - ");
82-
                            playerMana -= 35;
82+
83
                switch (Convert.ToInt32(Console.ReadLine()))
84
                {
85
                    case 1:
86
                        if ((playerMana - manaFireBall) >= 0)
87
                        {
88
                            playerMana -= manaFireBall;
89-
                        if (playerForce >= 7)
89+
                            damage = damageFireBall + rand.Next(playerForce / 2 + playerForce);
90
                            bossHp -= damage;
91-
                            if ((playerMana - 40) >= 0)
91+
92
                        }
93-
                                playerMana -= 40;
93+
94-
                                damage = 30 + rand.Next(playerForce * 3);
94+
95
                            Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
96
                        }
97
                        break;
98
                    case 2:
99
                        if ((playerMana - manaRegain) >= 0)
100
                        {
101
                            recoveryHp = recoveryOfRegain;
102
                            playerHp += recoveryHp;
103
                            playerMana -= manaRegain;
104
                            Console.WriteLine($"Вы восстанавливайте себе {recoveryHp} здоровья");
105
                        }
106-
                        int recoveryMana = rand.Next(35,46);
106+
107
                        {
108
                            Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
109
                        }
110
                        break;
111
                    case 3:
112
                        if (playerForce >= requiredForceFireStorm)
113-
                        if ((playerMana - 10) >= 0)
113+
114
                            if ((playerMana - manaFireStorm) >= 0)
115-
                            playerForce++;
115+
116-
                            playerMana -= 10;
116+
                                playerMana -= manaFireStorm;
117
                                damage = damageFireStorm + rand.Next(playerForce * 3);
118
                                bossHp -= damage;
119
                                playerHp -= damage;
120
                                Console.WriteLine($"Ваш огненный шторм нанос урон в {damage} единиц всем");
121
                            }
122
                            else
123-
                        if (playerForce > 4)
123+
124
                                Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
125-
                            if ((playerMana - 30) >= 0)
125+
126
                        }
127-
                                playerMana -= 30;
127+
128-
                                damage = 45 + rand.Next(playerForce / 2 + playerForce);
128+
129
                            Console.WriteLine("У вас недостаточно силы, вы пропускайте ход");
130
                        }
131
                        break;
132
                    case 4:
133
                        int recoveryMana = rand.Next(recoveryManeOfSkip - 5, recoveryManeOfSkip + 6);
134
                        Console.WriteLine($"Вы отдыхайте и восстанавливайте себе {recoveryMana} манны");
135
                        playerMana += recoveryMana;
136
                        if (playerMana > playerManaMax)
137
                            playerMana = playerManaMax;
138
                        break;
139
                    case 5:
140
                        if ((playerMana - manaForceUp) >= 0)
141
                        {
142
                            playerForce += improveForce;
143
                            playerMana -= manaForceUp;
144
                            Console.WriteLine($"Вы поднимайте свою силу на 1");
145
                        }
146-
                    
146+
147
                        {
148
                            Console.WriteLine("У вас недостаточно манны, вы пропускайте ход");
149
                        }
150
                        break;
151
                    case 6:
152
                        if (playerForce >= requiredForceIceSpike)
153
                        {
154
                            if ((playerMana - manaIceSpike) >= 0)
155
                            {
156
                                playerMana -= manaIceSpike;
157
                                damage = damageIceSpike + rand.Next(playerForce / 2 + playerForce);
158
                                bossHp -= damage;
159
                                Console.WriteLine($"Ваши шипы наносят {damage} ктухлу");
160
                            }
161
                            else
162
                            {
163
                                Console.WriteLine("У вас недостаточно манны, вы пропускайте ход");
164
                            }
165
                        }
166
                        else
167-
                            damage = 45 + rand.Next(-bossForce / 2, bossForce)*3;
167+
168
                            Console.WriteLine("У вас недостаточно силы, вы пропускайте ход");
169
                        }
170
                        break;
171
                }
172
173
                // Ход ктулху
174
                Console.WriteLine();
175
                Console.ForegroundColor = ConsoleColor.White;
176
                Console.Write("Ктулху выбирает - ");
177
                if (bossMana >= 20)
178
                {
179
180
                    switch (rand.Next(0, 4))
181
                    {
182
                        case 0:
183
                            damage = 15 + rand.Next(-bossForce / 2, bossForce);
184
                            Console.WriteLine("Удар щупальцем - 15 базовый урон");
185
                            playerHp -= damage;
186
                            Console.WriteLine($"Ктулху нанес урон в {damage} единиц.");
187
                            break;
188
                        case 1:
189
                            Console.WriteLine("Проклятие утраты силы (постоянное)");
190
                            Console.WriteLine($"Ктухлу понизил вашу силу на 1");
191
                            playerForce--;
192
                            break;
193
                        case 2:
194
                            Console.WriteLine("Восстанавливает себя - базовое восстановление 20");
195
                            recoveryHp = rand.Next(20, 20 + bossForce * 3);
196
                            bossHp += recoveryHp;
197
                            Console.WriteLine($"Ктулху восстановил себе здоровье на {recoveryHp} ");
198
                            break;
199
                        case 3:
200
                            damage = 45 + rand.Next(-bossForce / 2, bossForce) * 3;
201
                            Console.WriteLine("Серия ударов щупальцев - 45 базовый урон");
202
                            playerHp -= damage;
203
                            Console.WriteLine($"Ктулху нанес урон в {damage} единиц.");
204
                            break;
205
                    }
206
                    bossMana -= 20;
207
                }
208
                else
209
                {
210
                    int recoveryMana = rand.Next(15, 81);
211
                    Console.WriteLine($"Ктулху отдыхает и восстанавливает свою манну в {recoveryMana} единиц");
212
                    bossMana += recoveryMana;
213
                    if (bossMana > bossManaMax)
214
                        bossMana = bossManaMax;
215
                }
216
                Console.ReadKey();
217
            }
218
219
            //Вывод результата битвы
220
            Console.Clear();
221
            if (playerHp <= 0 && bossHp <= 0)
222
                Console.WriteLine("Ничья");
223
            else if (playerHp <= 0)
224
                Console.WriteLine("Вы проиграли");
225
            else
226
                Console.WriteLine("Ктулху проиграл");
227
228
            Console.ReadKey();
229
        }
230
    }
231
}