Advertisement
Vlad_Savitskiy

Duel

Apr 8th, 2020
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.59 KB | None | 0 0
  1. using System;
  2.  
  3. namespace CSLightFirst
  4. {
  5.     class Program
  6.     {
  7.         static void Main()
  8.         {
  9.             Random rand = new Random();
  10.             float playerHealth = rand.Next(100, 150);
  11.             float playerDamage = rand.Next(80, 100);
  12.             float playerArmor = rand.Next(30, 40);
  13.             float bossHealth = rand.Next(500, 550);
  14.             float bossDamage = rand.Next(100, 120);
  15.             float bossArmor = rand.Next(60, 70);
  16.             int moveCountToStun = 0;
  17.             int moveBossInStun = 0;
  18.             string lastSpell = "";
  19.  
  20.  
  21.             Console.WriteLine("Пришло время расправиться с Вашим главным врагом\n" +
  22.                               "Действуйте мудро, и тогда всё получится. Удачи!\n");
  23.  
  24.             while (playerHealth > 0 && bossHealth > 0)
  25.             {
  26.                 Console.WriteLine($"У босса {bossHealth} HP, {bossDamage} damage, {bossArmor} armor\n" +
  27.                                   $"У Вас {playerHealth} HP, {playerDamage} damage, {playerArmor} armor\n\n" +
  28.                                   "Какое заклинание Вы хотели бы использовать? (Продолжительность заклинаний - 1 ход)\n" +
  29.                                   "1 - Пылающий шар (Урон от ваших атак увеличивается на 10%, " +
  30.                                   "а защита врага уменьшается на 20%)\n" +
  31.                                   "2 - Оглушение (Заставляет врага пропустить 2 хода (можно использовать раз в 3 хода))\n" +
  32.                                   "3 - Огненная буря (Наносит 2-кратный урон, " +
  33.                                   "но только если предыдущее заклинание было - \"Пылающий шар\")\n" +
  34.                                   "4 - Последний шанс (Если у вас осталось менее 10 HP, " +
  35.                                   "с вероятностью 40% вы убьете босса, иначе вы умрете)\n");
  36.  
  37.                 switch (Console.ReadLine())
  38.                 {
  39.                     case "1":
  40.                         bossHealth -= playerDamage * 1.1f * (bossArmor * 1.2f / 100);
  41.                         lastSpell = "1";
  42.                         if (moveCountToStun > 0)
  43.                             moveCountToStun--;
  44.                         break;
  45.                     case "2":
  46.                         if (moveCountToStun == 0)
  47.                         {
  48.                             moveBossInStun = 2;
  49.                             lastSpell = "2";
  50.                             moveCountToStun = 2;
  51.                         }
  52.                         break;
  53.                     case "3":
  54.                         if (lastSpell == "1")
  55.                         {
  56.                             bossHealth -= playerDamage * 2 * (bossArmor / 100);
  57.                             lastSpell = "3";
  58.                             if (moveCountToStun > 0)
  59.                                 moveCountToStun--;
  60.                         }
  61.                         break;
  62.                     case "4":
  63.                         if (playerHealth < 10)
  64.                         {
  65.                             int temp = rand.Next(1, 101);
  66.                             if (temp > 0 && temp < 41)
  67.                                 bossHealth = 0;
  68.                             else playerHealth = 0;
  69.                         }
  70.                         break;
  71.                     default:
  72.                         Console.WriteLine("Введено неверное заклинание, босс атакует");
  73.                         if (moveCountToStun > 0)
  74.                             moveCountToStun--;
  75.                         break;
  76.                 }
  77.  
  78.                 if (moveBossInStun-- > 0)
  79.                     continue;
  80.                 if (bossHealth > 0)
  81.                     playerHealth -= bossDamage * (playerArmor / 100);
  82.             }
  83.  
  84.             if (bossHealth <= 0 && playerHealth <= 0)
  85.                 Console.WriteLine("Вы победили босса ценою своей жизни...");
  86.             else if (bossHealth <= 0)
  87.                 Console.WriteLine("Поздравляем! Мир спасен!");
  88.             else if (playerHealth <= 0)
  89.                 Console.WriteLine("Вам не удалось победить в этом сражении... Увы...");
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement