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);
- //Fire Ball, Regain, FireStorm, Skip, ForceUp, IceSpike
- int manaFireBall = 10;
- int damageFireBall = 18;
- int manaRegain = 35;
- int recoveryOfRegain = 40;
- int manaFireStorm = 40;
- int damageFireStorm = 30;
- int requiredForceFireStorm = 7;
- int recoveryManeOfSkip = 40;
- int manaForceUp = 10;
- int improveForce = 1;
- int manaIceSpike = 30;
- int damageIceSpike = 45;
- int requiredForceIceSpike = 5;
- int damage;
- int recoveryHp;
- while (playerHp > 0 && bossHp > 0)
- {
- Console.Clear();
- // Описание заклинаний игрока
- Console.SetCursorPosition(0, 15);
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"Заклинания:\n" +
- $"1 - Огненный шар - {manaFireBall} манны; урон базовый {damageFireBall}\n" +
- $"2 - Восстановление - {manaRegain} манны; восстановление {recoveryOfRegain}\n" +
- $"3 - Огненный шторм (требования: сила >= {requiredForceFireStorm}) - {manaFireStorm} манны; базовый урон {damageFireStorm} (всем)\n" +
- $"4 - пропуск хода - восстановление манны {recoveryManeOfSkip} +- 5\n" +
- $"5 - Заклинание силы - {manaForceUp} манны; +{improveForce} силы \n" +
- $"6 - Шипы из льда (требования: сила >= {requiredForceIceSpike}) - манны{manaIceSpike}; Базовый урон {damageIceSpike}");
- // Вывод информации о боссе и о игроке
- 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 - manaFireBall) >= 0)
- {
- playerMana -= manaFireBall;
- damage = damageFireBall + rand.Next(playerForce / 2 + playerForce);
- bossHp -= damage;
- Console.WriteLine($"Ваш огненный шар нанос урон в {damage} единиц");
- }
- else
- {
- Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
- }
- break;
- case 2:
- if ((playerMana - manaRegain) >= 0)
- {
- recoveryHp = recoveryOfRegain;
- playerHp += recoveryHp;
- playerMana -= manaRegain;
- Console.WriteLine($"Вы восстанавливайте себе {recoveryHp} здоровья");
- }
- else
- {
- Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
- }
- break;
- case 3:
- if (playerForce >= requiredForceFireStorm)
- {
- if ((playerMana - manaFireStorm) >= 0)
- {
- playerMana -= manaFireStorm;
- damage = damageFireStorm + rand.Next(playerForce * 3);
- bossHp -= damage;
- playerHp -= damage;
- Console.WriteLine($"Ваш огненный шторм нанос урон в {damage} единиц всем");
- }
- else
- {
- Console.WriteLine("У вас недостаточно манны. Пропускайте ход");
- }
- }
- else
- {
- Console.WriteLine("У вас недостаточно силы, вы пропускайте ход");
- }
- break;
- case 4:
- int recoveryMana = rand.Next(recoveryManeOfSkip - 5, recoveryManeOfSkip + 6);
- Console.WriteLine($"Вы отдыхайте и восстанавливайте себе {recoveryMana} манны");
- playerMana += recoveryMana;
- if (playerMana > playerManaMax)
- playerMana = playerManaMax;
- break;
- case 5:
- if ((playerMana - manaForceUp) >= 0)
- {
- playerForce += improveForce;
- playerMana -= manaForceUp;
- Console.WriteLine($"Вы поднимайте свою силу на 1");
- }
- else
- {
- Console.WriteLine("У вас недостаточно манны, вы пропускайте ход");
- }
- break;
- case 6:
- if (playerForce >= requiredForceIceSpike)
- {
- if ((playerMana - manaIceSpike) >= 0)
- {
- playerMana -= manaIceSpike;
- damage = damageIceSpike + 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