Advertisement
rukvir

HW 2_11_2

Mar 4th, 2025 (edited)
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.74 KB | None | 0 0
  1. using System;
  2.  
  3. namespace HomeWork
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Console.WriteLine("Легенда: Вы - герой и у вас есть несколько умений (можете быть вообще хоть кем) и БЛА-БЛА-БЛА...");
  10.  
  11.             const string CommandNormalAttack = "1";
  12.             const string CommandFireBall = "2";
  13.             const string CommandBlast = "3";
  14.             const string CommandHealing = "4";
  15.  
  16.             Random random = new Random();
  17.             int maxHealthUser = random.Next(90, 101);
  18.             int minHealthUser = random.Next(70, 76);
  19.             int healthUser = (random.Next(minHealthUser, maxHealthUser) +1);
  20.             int maxMannaUser = random.Next(25, 31);
  21.             int minMannaUser = random.Next(4, 6);
  22.             int mannaUser = (random.Next(minMannaUser, maxMannaUser) +1);
  23.             int mannaFireBall = random.Next(5, 11);
  24.             int damageUser = 0;
  25.  
  26.             int healthBoss = random.Next(80, 151);
  27.             int damageBoss = random.Next(15, 20);
  28.  
  29.             int spellDamage = 0;
  30.             int spellHealth = 0;
  31.             int spellMannaRevival = 0;
  32.  
  33.             int counterMedicineBox = random.Next(1, 4);
  34.             bool isFireBallCounterActive = false;
  35.             string spellNumber = "";
  36.  
  37.             Console.WriteLine($"| Герой | здоровье: {healthUser}, урон: {damageUser}, манна: {mannaUser}");
  38.             Console.WriteLine($"| Босс  | здоровье: {healthBoss}, урон: {damageBoss}.");
  39.             Console.WriteLine("3..");
  40.             Console.WriteLine("2..");
  41.             Console.WriteLine("1..");
  42.             Console.WriteLine("РЕЗНЯ!!!");
  43.  
  44.             while ((healthBoss > 0) && (healthUser > 0))
  45.             {
  46.                 spellNumber = Convert.ToString(random.Next(1, 5));
  47.                 Console.WriteLine($"Выбрана способность: {spellNumber}");
  48.                 switch (spellNumber)
  49.                 {
  50.                     case CommandNormalAttack:
  51.                         spellDamage = random.Next(5, 10);
  52.                         Console.WriteLine($"Скилл 1: Обычная атака. Урон составил: {spellDamage}");
  53.                         break;
  54.  
  55.                     case CommandFireBall:
  56.                         spellDamage = random.Next(10, 15);
  57.  
  58.                         if (mannaFireBall < mannaUser)
  59.                         {
  60.                             mannaUser -= mannaFireBall;
  61.                             isFireBallCounterActive = true;
  62.                             Console.WriteLine($"Скилл 2: Огненный шар. Урон составил: {spellDamage}");
  63.                             Console.WriteLine($"Осталось манны: {mannaUser}");
  64.                         } else {
  65.                             Console.WriteLine("Нет манны");
  66.                         }
  67.                         break;
  68.  
  69.                     case CommandBlast:
  70.                         spellDamage = random.Next(15, 20);
  71.  
  72.                         if (isFireBallCounterActive == true)
  73.                         {
  74.                             Console.WriteLine($"Скилл 3: Взрыв. Урон составил: {spellDamage}");
  75.                             isFireBallCounterActive = false;
  76.                         } else {
  77.                             Console.WriteLine("Способность заблокирована, сначала используйте огненный шар");
  78.                         }  
  79.                         break;
  80.  
  81.                     case CommandHealing:
  82.                         if (counterMedicineBox > 0)
  83.                         {
  84.                             spellHealth = random.Next(minHealthUser, maxHealthUser);
  85.                             spellMannaRevival = random.Next(minMannaUser, maxMannaUser);
  86.                             if ((spellHealth < healthUser) && (spellMannaRevival < mannaUser))
  87.                             {
  88.                                 healthUser += spellHealth;
  89.                                 mannaUser += spellMannaRevival;
  90.                             } else {
  91.                                 healthUser = spellHealth;
  92.                                 mannaUser = spellMannaRevival;
  93.                             }
  94.                             Console.WriteLine($"Скилл 4: Здоровье и манна пополнены!" +
  95.                                 $" Здоровье:{healthUser} | Манна: {mannaUser}");
  96.                             counterMedicineBox--;
  97.                         }
  98.                         break;
  99.                 }
  100.                 damageUser = spellDamage;
  101.  
  102.                 Console.WriteLine($"\n Итоги раунда: урона Героя составил: {damageUser}");
  103.                 healthUser -= damageBoss;
  104.                 healthBoss -= damageUser;
  105.                 Console.WriteLine($"После обмена атаками: Герой, здоровье: {healthUser}, Босс, здоровье: {healthBoss}  ");
  106.             }
  107.  
  108.             if (healthUser <= 0 && healthBoss <= 0)
  109.             {
  110.                 Console.WriteLine("------------------");
  111.                 Console.WriteLine($"Ничья, оба умерли");
  112.             }
  113.  
  114.             else if (healthUser > 0 && healthBoss <= 0)
  115.             {
  116.                 Console.WriteLine("-------------");
  117.                 Console.WriteLine($"Герой победил");
  118.             }
  119.  
  120.             else if (healthUser <= 0 && healthBoss > 0)
  121.             {
  122.                 Console.WriteLine("--------------");
  123.                 Console.WriteLine($"Босс победил");
  124.             }
  125.             Console.ReadKey();
  126.         }
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement