Advertisement
vovanhik_24

FinalBossFight

Aug 26th, 2023 (edited)
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.14 KB | None | 0 0
  1.             const int CommandFirstSpell = 1;
  2.             const int CommandSecondSpell = 2;
  3.             const int CommandThirdTryToEscape = 3;
  4.  
  5.             Random random = new Random();
  6.             bool isWorking = true;
  7.  
  8.             int maxPlayerHP = 100;
  9.             int minPlayerHP = 15;
  10.             int maxPlayerMP = 500;
  11.             int minPlayerMP = 50;
  12.             int playerMaxHealing = 15;
  13.             int playerMinHealing = 5;
  14.             int spellMaxDamage = 50;
  15.             int spellMinDamage = 10;
  16.             int maxSpellMpCost = 15;
  17.             int minSpellMpCost = 1;
  18.             int maxChanceTryToEscape = 100;
  19.             int playerHP, playerMP, spellPlayerHealing, spellPlayerFireBall, tryToEscape, mpFirstSpellCost, mpSecondSpellCost;
  20.  
  21.             int choosingBossName;
  22.             string[] allBossNames = { "Король Ящеров", "Циклоп", "Дракон", "Темный рыцарь" };
  23.             int maxBossHP = 500;
  24.             int minBossHP = 100;
  25.             int maxBossDamage = 10;
  26.             int minBossDamage = 5;
  27.             int bossHP, bossDamage;
  28.  
  29.             playerHP = random.Next(minPlayerHP, maxPlayerHP + 1);
  30.             playerMP = random.Next(minPlayerMP, maxPlayerMP + 1);
  31.  
  32.             bossHP = random.Next(minBossHP, maxBossHP + 1);
  33.             choosingBossName = random.Next(0, allBossNames.Length);
  34.  
  35.             while (isWorking)
  36.             {
  37.                 spellPlayerHealing = random.Next(playerMinHealing, playerMaxHealing + 1);
  38.                 spellPlayerFireBall = random.Next(spellMinDamage, spellMaxDamage + 1);
  39.                 tryToEscape = random.Next(maxChanceTryToEscape + 1);
  40.                 bossDamage = random.Next(minBossDamage, maxBossDamage + 1);
  41.                 mpFirstSpellCost = random.Next(minSpellMpCost, maxSpellMpCost + 1);
  42.                 mpSecondSpellCost = random.Next(minSpellMpCost, maxSpellMpCost + 1);
  43.  
  44.                 Console.Clear();
  45.                 Console.WriteLine($"======== На вас напал босс: {allBossNames[choosingBossName]} ========\nЗдоровье: {bossHP}\nАтака: {bossDamage}\n");
  46.                 Console.WriteLine($"\n======== Ваши характеристики персонажа ========\nЗдоровье: {playerHP}\nМана: {playerMP} \n");
  47.                 Console.WriteLine($"Ваши действия:" +
  48.                     $"\nВведите: {CommandFirstSpell} (для того чтобы скастовать огненый шар) : нанесет {spellPlayerFireBall} урона ===> цена: {mpFirstSpellCost} маны" +
  49.                     $"\nВведите: {CommandSecondSpell} (восстановить {spellPlayerHealing} хп) ===> цена: {mpSecondSpellCost} маны" +
  50.                     $"\nВведите: {CommandThirdTryToEscape} (попытаться убежать)");
  51.  
  52.                 Console.Write("\nВведиьте комманду: ");
  53.                 int inputMessagePlayer = Convert.ToInt32(Console.ReadLine());
  54.  
  55.                 switch (inputMessagePlayer)
  56.                 {
  57.                     case CommandFirstSpell:
  58.                         Console.Clear();
  59.  
  60.                         if (playerMP >= mpFirstSpellCost)
  61.                         {
  62.                             Console.WriteLine($"Вы нанесли боссу {spellPlayerFireBall} урона");
  63.                             bossHP -= spellPlayerFireBall;
  64.                             playerMP -= mpFirstSpellCost;
  65.                             Console.Write("Нажмите 'Enter' для продолжения");
  66.                             Console.ReadKey();
  67.                         }
  68.                         else
  69.                         {
  70.                             Console.WriteLine("У вас не хватает маны!");
  71.                             Console.Write("Нажмите 'Enter' для продолжения");
  72.                             Console.ReadKey();
  73.                         }
  74.                         break;
  75.  
  76.                     case CommandSecondSpell:
  77.                         Console.Clear();
  78.  
  79.                         if (playerMP >= mpSecondSpellCost)
  80.                         {
  81.                             Console.WriteLine($"Вы Восстановили {spellPlayerHealing} хп");
  82.                             playerHP += spellPlayerHealing;
  83.                             playerMP -= mpFirstSpellCost;
  84.                             Console.Write("Нажмите 'Enter' для продолжения");
  85.                             Console.ReadKey();
  86.                         }
  87.                         else
  88.                         {
  89.                             Console.WriteLine("У вас не хватает маны!");
  90.                             Console.Write("Нажмите 'Enter' для продолжения");
  91.                             Console.ReadKey();
  92.                         }
  93.                         break;
  94.  
  95.                     case CommandThirdTryToEscape:
  96.                         Console.Clear();
  97.  
  98.                         if (tryToEscape >= 90)
  99.                         {
  100.                             isWorking = false;
  101.                             Console.WriteLine("Поздравляю вы сбежали от босса!");
  102.                         }
  103.                         else
  104.                         {
  105.                             Console.WriteLine("Вы не сбежали! повезёт в другой раз :(");
  106.                         }
  107.                         break;
  108.  
  109.                     default:
  110.                         Console.Clear();
  111.                         Console.WriteLine($"Введина неверная комманда!" +
  112.                             $"\nДоступные комманды: {CommandFirstSpell}, {CommandSecondSpell}, {CommandThirdTryToEscape}\n" +
  113.                             $"Вы пропустили ход!");
  114.                         Console.Write("Нажмите 'Enter' для продолжения");
  115.                         Console.ReadLine();
  116.                         break;
  117.                 }
  118.  
  119.                 Console.Clear();
  120.                 Console.WriteLine($"Босс аттакует!\nВам нанесли {bossDamage}");
  121.                 Console.Write("Нажмите 'Enter' для продолжения");
  122.                 Console.ReadKey();
  123.                 playerHP -= bossDamage;
  124.  
  125.                 if (playerHP <= 0 || bossHP <= 0)
  126.                 {
  127.                     Console.Clear();
  128.                     Console.WriteLine("======== Игра окончена! ========");
  129.                     isWorking = false;
  130.                     Console.ReadKey();
  131.                 }
  132.             }
  133.  
  134.             if (playerHP <= 0 && bossHP <= 0)
  135.             {
  136.                 Console.Clear();
  137.                 Console.WriteLine("======== Ничья! ========");
  138.             }
  139.             else if (playerHP <= 0)
  140.             {
  141.                 Console.Clear();
  142.                 Console.WriteLine("======== Вы проиграли! ========");
  143.             }
  144.             else if (bossHP <= 0)
  145.             {
  146.                 Console.Clear();
  147.                 Console.WriteLine("======== Вы победили! ========");
  148.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement