Advertisement
rukvir

HW 2_11_4

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