Advertisement
rukvir

HW 2_11_5

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