Advertisement
junniorrkaa

Бой с боссом

Aug 25th, 2024 (edited)
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.87 KB | Source Code | 0 0
  1. using System;
  2.  
  3. namespace CSLight
  4. {
  5.     internal class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             const string CommandBasicAttack = "1";
  10.             const string CommandFireballAttack = "2";
  11.             const string CommandExplosionAttack = "3";
  12.             const string CommandHealUp = "4";
  13.  
  14.             Random random = new Random();
  15.             int damageBoss = random.Next(50, 126);
  16.  
  17.             int normalDamageHero = 100;
  18.             int fireballDamage = 200;
  19.             int explosionDamage = 300;
  20.             int healthUpHero = 75;
  21.             int mannaUpHero = 35;
  22.             int mannaExpenseHero = 20;
  23.            
  24.             int healthBoss = 1000;
  25.             int lifeRestoring = healthBoss;
  26.             int lifeCounter = 2;
  27.  
  28.             int healthHero = 500;
  29.             int healthComparison = healthHero;
  30.             int excessHealth = 0;
  31.  
  32.             int mannaHero = 100;
  33.             int mannaComparison = mannaHero;
  34.             int excessManna = 0;
  35.  
  36.             int healingCounter = 10;
  37.             int fireBallCounter = 0;
  38.  
  39.             string userInput;
  40.            
  41.             Console.WriteLine("Вы - герой и у вас есть несколько умений, которые вы можете использовать против Босса. Вы должны уничтожить босса и только после этого будет вам покой.");
  42.             Console.ReadLine();
  43.             Console.WriteLine("Начало боя!");
  44.  
  45.             while (healthBoss > 0 && healthHero > 0)
  46.             {
  47.                 if (healthHero > 500 && mannaHero > 100)
  48.                 {
  49.                     excessHealth += healthHero % healthComparison;
  50.                     healthHero -= excessHealth;
  51.                     excessManna += mannaHero % mannaComparison;
  52.                     mannaHero -= excessManna;
  53.                 }
  54.                 else if (healthHero > 500)
  55.                 {
  56.                     excessHealth += healthHero % healthComparison;
  57.                     healthHero -= excessHealth;
  58.                 }
  59.                 else if (mannaHero > 100)
  60.                 {
  61.                     excessManna += mannaHero % mannaComparison;
  62.                     mannaHero -= excessManna;
  63.                 }
  64.  
  65.                 Console.WriteLine($"Здоровье Босса - {healthBoss}");
  66.                 Console.WriteLine($"Здоровье Героя - {healthHero}");
  67.                 Console.WriteLine($"Манна Героя - {mannaHero}");
  68.                 Console.WriteLine($"\nВаши способности:");
  69.                 Console.WriteLine($"Нанесение обычного урона - {CommandBasicAttack}");
  70.                 Console.WriteLine($"Нанесение урона Фаер Боллом - {CommandFireballAttack}");
  71.                 Console.WriteLine($"Нанесение урона взрывом (можно применять только после атаки Фаер Боллом) - {CommandExplosionAttack}");
  72.                 Console.WriteLine($"Повышение здоровья и манны - {CommandHealUp}\n");
  73.                 Console.Write("Ваш ход. Kакое умение вы хотите применить против Босса: ");
  74.  
  75.                 userInput = Console.ReadLine();
  76.  
  77.                 switch (userInput)
  78.                 {
  79.                     case CommandBasicAttack:
  80.                         healthBoss -= normalDamageHero;
  81.                         Console.WriteLine($"\nВаша атака успешно прошла.");
  82.  
  83.                         healthHero -= damageBoss;
  84.                         Console.WriteLine($"Босс наносит ответную атаку.\n");
  85.  
  86.                         if (lifeCounter <= 0)
  87.                         {
  88.                             break;
  89.                         }
  90.  
  91.                         if (healthBoss <= 0)
  92.                         {
  93.                             lifeCounter--;
  94.                             healthBoss += lifeRestoring;
  95.                             Console.WriteLine($"Босс восстановил здоровье. Количество жизней Босса - {lifeCounter}\n");
  96.                         }
  97.                         break;
  98.  
  99.                     case CommandFireballAttack:
  100.                         if (mannaHero > mannaExpenseHero)
  101.                         {
  102.                             fireBallCounter++;
  103.                             healthBoss -= fireballDamage;
  104.                             mannaHero -= mannaExpenseHero;
  105.                             Console.WriteLine($"\nВаша атака успешно прошла.");
  106.  
  107.                             healthHero -= damageBoss;
  108.                             Console.WriteLine($"Босс наносит ответную атаку.\n");
  109.  
  110.                             if (lifeCounter <= 0)
  111.                             {
  112.                                 break;
  113.                             }
  114.                            
  115.                             if (healthBoss <= 0)
  116.                             {
  117.                                 lifeCounter--;
  118.                                 healthBoss += lifeRestoring;
  119.                                 Console.WriteLine($"Босс восстановил здоровье. Количество жизней Босса - {lifeCounter}\n");
  120.                             }
  121.  
  122.                         }
  123.                         else
  124.                         {
  125.                             Console.WriteLine($"\nУ вас недостаточно манны.\n");
  126.                         }
  127.                         break;
  128.  
  129.                     case CommandExplosionAttack:
  130.                         if (fireBallCounter > 0 && mannaHero > mannaExpenseHero)
  131.                         {
  132.                             fireBallCounter--;
  133.                             healthBoss -= explosionDamage;
  134.                             mannaHero -= mannaExpenseHero;
  135.                             Console.WriteLine($"\nВаша атака успешно прошла.");
  136.  
  137.                             healthHero -= damageBoss;
  138.                             Console.WriteLine($"Босс наносит ответную атаку.\n");
  139.  
  140.                             if (lifeCounter <= 0)
  141.                             {
  142.                                 break;
  143.                             }
  144.                            
  145.                             if (healthBoss <= 0)
  146.                             {
  147.                                 lifeCounter--;
  148.                                 healthBoss += lifeRestoring;
  149.                                 Console.WriteLine($"Босс восстановил здоровье. Количество жизней Босса - {lifeCounter}\n");
  150.                             }
  151.  
  152.                         }
  153.                         else
  154.                         {
  155.                             Console.WriteLine($"\nВы еще не воспользовались Фаер Боллом или У вас недостаточно манны.\n");
  156.                         }
  157.                         break;
  158.  
  159.                     case CommandHealUp:
  160.                         if (healingCounter > 0)
  161.                         {
  162.                             if (healthHero < 500 && mannaHero < 100)
  163.                             {
  164.                                 healingCounter--;
  165.                                 healthHero += healthUpHero;
  166.                                 mannaHero += mannaUpHero;
  167.                                 Console.WriteLine($"\nВы успешно восстановили ваше здоровье и манну.\n");
  168.                             }
  169.                             else if (healthHero < 500)
  170.                             {
  171.                                 healingCounter--;
  172.                                 healthHero += healthUpHero;
  173.                                 Console.WriteLine($"\nВы успешно восстановили ваше здоровье.\n");
  174.                             }
  175.                             else if (mannaHero < 100)
  176.                             {
  177.                                 healingCounter--;
  178.                                 mannaHero += mannaUpHero;
  179.                                 Console.WriteLine($"\nВы успешно восстановили вашу манну.\n");
  180.                             }
  181.                             else
  182.                             {
  183.                                 Console.WriteLine($"\nУ вас достаточно здоровья и манны.\n");
  184.                             }
  185.  
  186.                         }
  187.                         else
  188.                         {
  189.                             Console.WriteLine("\nУ вас лимит на восстановление здоровья и манны.\n");
  190.                         }
  191.                         break;
  192.                        
  193.                     default:
  194.                         healthHero -= damageBoss;
  195.                         Console.WriteLine("Вы пропускаете ход. Босс наносит вам урон.\n");
  196.                         break;
  197.                 }
  198.             }
  199.  
  200.             if (healthHero <= 0 && healthBoss <= 0)
  201.             {
  202.                 Console.WriteLine("Сражение закончилось! Никто не выжил.\n");
  203.             }
  204.             else if (healthHero <= 0)
  205.             {
  206.                 Console.WriteLine("Вы проиграли! Босс не оставил вам шансов.\n");
  207.             }      
  208.             else if (healthBoss <= 0)
  209.             {
  210.                 Console.WriteLine($"И не успевает. Он погиб.");
  211.                 Console.WriteLine("Поздравляю! Вы победили Босса , теперь о вашем сражении будут ходить легенды.\n");
  212.             }
  213.  
  214.             Console.ReadKey();
  215.  
  216.         }
  217.     }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement