Advertisement
rukvir

HW 2_11_3

Mar 6th, 2025
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.20 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 = random.Next(90, 101);
  19.             int minHealthUser = random.Next(70, 76);
  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);
  30.             int maxdamageBoss = random.Next(15, 21);
  31.             int mindamageBoss = random.Next(12, 16);
  32.             int damageBoss = random.Next(mindamageBoss, maxdamageBoss);
  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.                 /*  - Auto Game -
  52.                  * spellNumber = Convert.ToString(random.Next(1, 5));
  53.                 Console.WriteLine($"Выбрана способность: {spellNumber}");*/
  54.  
  55.                 Console.WriteLine("Выбери скил и атакуй!");
  56.                 spellNumber = Console.ReadLine();
  57.  
  58.                 switch (spellNumber)
  59.                 {
  60.                     case CommandNormalAttack:
  61.                         spellDamage = random.Next(5, 10);
  62.                         Console.WriteLine($"Скилл 1: Обычная атака. Урон составил: {spellDamage}");
  63.                         break;
  64.  
  65.                     case CommandFireBall:
  66.                         spellDamage = random.Next(10, 15);
  67.  
  68.                         if (mannaFireBall < mannaUser)
  69.                         {
  70.                             mannaUser -= mannaFireBall;
  71.                             isFireBallCounterActive = true;
  72.                             Console.WriteLine($"Скилл 2: Огненный шар. Урон составил: {spellDamage}");
  73.                             Console.WriteLine($"Осталось манны: {mannaUser}");
  74.                         } else
  75.                         {
  76.                             Console.WriteLine("Нет манны");
  77.                         }
  78.                         break;
  79.  
  80.                     case CommandBlast:
  81.                         spellDamage = random.Next(15, 20);
  82.  
  83.                         if (isFireBallCounterActive == true)
  84.                         {
  85.                             Console.WriteLine($"Скилл 3: Взрыв. Урон составил: {spellDamage}");
  86.                             isFireBallCounterActive = false;
  87.                         } else
  88.                         {
  89.                             Console.WriteLine("Способность заблокирована, сначала используйте огненный шар");
  90.                         }  
  91.                         break;
  92.  
  93.                     case CommandHealing:
  94.                         if (counterMedicineBox > 0)
  95.                         {
  96.                             spellHealth = random.Next(minHealthUser, maxHealthUser + 1);
  97.                             spellMannaRevival = random.Next(minMannaUser, maxMannaUser + 1);
  98.  
  99.                             if (spellHealth < maxHealthUser)
  100.                             {
  101.                                 healthUser += spellHealth;
  102.                                 if (healthUser > maxHealthUser)
  103.                                 {
  104.                                     healthUser = maxHealthUser;
  105.                                 }
  106.                             }
  107.                             else if (spellMannaRevival < mannaUser)
  108.                             {
  109.                                 mannaUser += spellMannaRevival;
  110.                                 if (mannaUser > maxMannaUser)
  111.                                 {
  112.                                     mannaUser = maxMannaUser;
  113.                                 }
  114.                             }
  115.                             Console.WriteLine($"Скилл 4: Здоровье и манна пополнены!" +
  116.                                 $" Здоровье:{healthUser} | Манна: {mannaUser}");
  117.  
  118.                             counterMedicineBox--;
  119.                         } else
  120.                         {
  121.                             Console.WriteLine("Аптечек больше нет!!!");
  122.                         }
  123.                         break;
  124.  
  125.                     case CommandHelp:
  126.                         Console.WriteLine($"Обычная атака -> {CommandNormalAttack}\n" +
  127.                             $"Огненный шар -> {CommandFireBall}\n" +
  128.                             $"Взрыв -> {CommandBlast} \n" +
  129.                             $"Аптечка -> {CommandHealing}\n" +
  130.                             $"Help -> {CommandHelp}");
  131.                         break;
  132.                 }
  133.                 damageUser = spellDamage;
  134.  
  135.                 Console.WriteLine($"\n Итоги раунда: урона Героя составил: {damageUser}");
  136.                 healthUser -= damageBoss;
  137.                 healthBoss -= damageUser;
  138.                 Console.WriteLine($"После обмена атаками: Герой, здоровье: {healthUser}, Босс, здоровье: {healthBoss}  ");
  139.                 spellDamage = 0;
  140.             }
  141.  
  142.             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.             else if (healthUser <= 0 && healthBoss > 0)
  153.             {
  154.                 Console.WriteLine("--------------");
  155.                 Console.WriteLine($"Босс победил");
  156.             }
  157.  
  158.             Console.ReadKey();
  159.         }
  160.     }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement