Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace C_sharp_Light
- {
- class Program
- {
- static void Main(string[] args)
- {
- Random rand = new Random();
- int playerHp = rand.Next(185,215);
- int playerManaMax = rand.Next(80,180);
- int playerMana = playerManaMax;
- int playerForce = rand.Next(1, 11);
- int bossHp = rand.Next(185, 215);
- int bossManaMax = rand.Next(80, 180);
- int bossMana = bossManaMax;
- int bossForce = rand.Next(1,11);
- int damage;
- int recoveryHp;
- while (playerHp > 0 && bossHp > 0)
- {
- Console.Clear();
- // Описание заклинаний игрока
- Console.SetCursorPosition(0, 15);
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Заклинания:\n" +
- "1 - Огненный шар - 10 манны; урон базовый 18\n" +
- "2 - Восстановление - 35 манны; восстановление 40\n" +
- "3 - Огненный шторм (сила >= 7) - 40 манны; базовый урон 30 (всем)\n" +
- "4 - пропуск хода - восстановление манны 40 +- 5\n" +
- "5 - Заклинание силы - 10 манны; +1 силы \n" +
- "6 - Шипы из льда (сила > 4) - 30 манны; Базовый урон 45");
- // Вывод информации о боссе и о игроке
- Console.ForegroundColor = ConsoleColor.Blue;
- {
- Console.SetCursorPosition(0, 0);
- Console.Write($"Здоровье игрока = {playerHp}");
- Console.SetCursorPosition(28, 0);
- Console.Write($"Здоровье Ктулху = {bossHp}");
- }
- {
- Console.SetCursorPosition(0, 1);
- Console.Write($"Манна игрока = {playerMana}");
- Console.SetCursorPosition(28, 1);
- Console.Write($"Манна Ктулху = {bossMana}");
- }
- {
- Console.SetCursorPosition(0, 2);
- Console.Write($"Сила игрока = {playerForce}");
- Console.SetCursorPosition(28, 2);
- Console.Write($"Сила Ктулху = {bossForce}");
- }
- // Ход игрока
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write("\n\nВаш ход. Какое заклинание вы выберите? - ");
- Console.ForegroundColor = ConsoleColor.Green;
- switch (Convert.ToInt32(Console.ReadLine()))
- {
- case 1:
- if ((playerMana - 10) >= 0)
- {
- playerMana -= 10;
- damage = 18 + rand.Next(playerForce / 2 + playerForce);
- bossHp -= damage;
- Console.WriteLine($"Ваш огненный шар нанос урон в {damage} единиц");
- }
- else
- Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
- break;
- case 2:
- if ((playerMana - 35) >= 0)
- {
- recoveryHp = 40;
- playerHp += recoveryHp;
- playerMana -= 35;
- Console.WriteLine($"Вы восстанавливайте себе {recoveryHp} здоровья");
- }
- else
- Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
- break;
- case 3:
- if (playerForce >= 7)
- {
- if ((playerMana - 40) >= 0)
- {
- playerMana -= 40;
- damage = 30 + rand.Next(playerForce * 3);
- bossHp -= damage;
- playerHp -= damage;
- Console.WriteLine($"Ваш огненный шторм нанос урон в {damage} единиц всем");
- }
- else
- Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
- }
- else
- Console.WriteLine("У вас недостаточно силы, вы пропускайте ход");
- break;
- case 4:
- int recoveryMana = rand.Next(35,46);
- Console.WriteLine($"Вы отдыхайте и восстанавливайте себе {recoveryMana} манны");
- playerMana += recoveryMana;
- if (playerMana > playerManaMax)
- playerMana = playerManaMax;
- break;
- case 5:
- if ((playerMana - 10) >= 0)
- {
- playerForce++;
- playerMana -= 10;
- Console.WriteLine($"Вы поднимайте свою силу на 1");
- }
- else
- Console.WriteLine("У вас недостаточно манны, вы пропускайте ход");
- break;
- case 6:
- if (playerForce > 4)
- {
- if ((playerMana - 30) >= 0)
- {
- playerMana -= 30;
- damage = 45 + rand.Next(playerForce / 2 + playerForce);
- bossHp -= damage;
- Console.WriteLine($"Ваши шипы наносят {damage} ктухлу");
- }
- else
- Console.WriteLine("У вас недостаточно манны, вы пропускайте ход");
- }
- else
- Console.WriteLine("У вас недостаточно силы, вы пропускайте ход");
- break;
- }
- // Ход ктулху
- Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write("Ктулху выбирает - ");
- if (bossMana >= 20)
- {
- switch (rand.Next(0, 4))
- {
- case 0:
- damage = 15 + rand.Next(-bossForce / 2, bossForce);
- Console.WriteLine("Удар щупальцем - 15 базовый урон");
- playerHp -= damage;
- Console.WriteLine($"Ктулху нанес урон в {damage} единиц.");
- break;
- case 1:
- Console.WriteLine("Проклятие утраты силы (постоянное)");
- Console.WriteLine($"Ктухлу понизил вашу силу на 1");
- playerForce--;
- break;
- case 2:
- Console.WriteLine("Восстанавливает себя - базовое восстановление 20");
- recoveryHp = rand.Next(20, 20 + bossForce * 3);
- bossHp += recoveryHp;
- Console.WriteLine($"Ктулху восстановил себе здоровье на {recoveryHp} ");
- break;
- case 3:
- damage = 45 + rand.Next(-bossForce / 2, bossForce)*3;
- Console.WriteLine("Серия ударов щупальцев - 45 базовый урон");
- playerHp -= damage;
- Console.WriteLine($"Ктулху нанес урон в {damage} единиц.");
- break;
- }
- bossMana -= 20;
- }
- else
- {
- int recoveryMana = rand.Next(15, 81);
- Console.WriteLine($"Ктулху отдыхает и восстанавливает свою манну в {recoveryMana} единиц");
- bossMana += recoveryMana;
- if (bossMana > bossManaMax)
- bossMana = bossManaMax;
- }
- Console.ReadKey();
- }
- //Вывод результата битвы
- Console.Clear();
- if (playerHp <= 0 && bossHp <= 0)
- Console.WriteLine("Ничья");
- else if (playerHp <= 0)
- Console.WriteLine("Вы проиграли");
- else
- Console.WriteLine("Ктулху проиграл");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement