Advertisement
VodVas

Битва с боссом

Aug 22nd, 2023 (edited)
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.13 KB | Software | 0 0
  1. using System.Reflection.Emit;
  2.  
  3. namespace Бой_с_боссом
  4. {
  5.     internal class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             const string MenuHolyShield = "1";
  10.             const string MenuJusticeHammer = "2";
  11.             const string MenuReflectAura = "3";
  12.             const string MenuExileUndead = "4";
  13.             const string MenuDamage = "5";
  14.  
  15.             const int MenuSceletionSpawn = 1;
  16.             const int MenuStun = 2;
  17.             const int MenuDeathTouch = 3;
  18.             const int MenuStrikeAttack = 4;
  19.  
  20.             int playerHealth = 1000;
  21.             int playerDamage = 100;
  22.             int bossHealth = 1000;
  23.             int bossDamage = 100;
  24.             int sceletionDamage = 50;
  25.             int reflectAuraDamage = 20;
  26.             int sceletionQuantity = 0;
  27.             int increaseAbilityPercent = 20;
  28.             int percentCalculation = 100;
  29.             int deathTouchPercent = 10;
  30.  
  31.             bool isSpawnSceletion = false;
  32.             bool ableCastReflectAura = false;
  33.             Console.ForegroundColor = ConsoleColor.Green;
  34.             Console.WriteLine($"*********************************\nПеред вами Некромант - Лич, босс подземелья! Вы - паладин ордена Света, так что бояться нечего:)\n");
  35.             Console.WriteLine("*********************************");
  36.             Console.ForegroundColor = ConsoleColor.White;
  37.             Console.WriteLine($"\nГрамотно используйте умения и вы победите!\nУ некроманта {bossHealth} хп, у вас {playerHealth} хп\n");
  38.  
  39.             while (playerHealth > 0 && bossHealth > 0)
  40.             {
  41.                 Console.ForegroundColor = ConsoleColor.White;
  42.                 Console.WriteLine($"Выберите способность:\n {MenuHolyShield} - святой щит (+{increaseAbilityPercent}% хп)\n {MenuJusticeHammer} - молот правосудия (+{increaseAbilityPercent}% к урону)\n " +
  43.                 $"{MenuReflectAura} - аура отражения (отражает {increaseAbilityPercent}% урона некроманту)\n {MenuExileUndead} - изгнание нежити (убить всех скелетов врага)\n {MenuDamage} - Удар мечом\n");
  44.                 string userInput = Console.ReadLine();
  45.  
  46.                 switch (userInput)
  47.                 {
  48.                     case MenuHolyShield:
  49.                         Console.ForegroundColor = ConsoleColor.Yellow;
  50.                         Console.WriteLine($"Вы кастуете святой щит, это дает вам +{increaseAbilityPercent}% хп");
  51.                         Console.ForegroundColor = ConsoleColor.White;
  52.                         playerHealth += (playerHealth / percentCalculation) * increaseAbilityPercent;
  53.                         Console.WriteLine($"У вас стало {playerHealth} хп\n");
  54.                         break;
  55.  
  56.                     case MenuJusticeHammer:
  57.                         Console.ForegroundColor = ConsoleColor.DarkGray;
  58.                         Console.WriteLine("Вы кастуете молот правосудия");
  59.                         Console.ForegroundColor = ConsoleColor.White;
  60.                         playerDamage += (playerDamage / percentCalculation) * increaseAbilityPercent;
  61.                         Console.WriteLine($"Ваш дамаг стал {playerDamage}\n");
  62.                         break;
  63.  
  64.                     case MenuReflectAura:
  65.                         ableCastReflectAura = true;
  66.                         Console.ForegroundColor = ConsoleColor.Green;
  67.                         Console.WriteLine($"Вы кастуете ауру отражения урона (отражаете {increaseAbilityPercent}% физического урона)\n");
  68.                         Console.ForegroundColor = ConsoleColor.White;
  69.                         break;
  70.  
  71.                     case MenuExileUndead:
  72.                         if (isSpawnSceletion == true)
  73.                         {
  74.                             Console.ForegroundColor = ConsoleColor.DarkYellow;
  75.                             Console.WriteLine("Нежить изгнана!\n");
  76.                             Console.ForegroundColor = ConsoleColor.White;
  77.                             isSpawnSceletion = false;
  78.                             sceletionQuantity = 0;
  79.                         }
  80.                         else
  81.                         {
  82.                             Console.WriteLine("Изгонять некого");
  83.                         }
  84.                         break;
  85.  
  86.                     case MenuDamage:
  87.                         Console.ForegroundColor = ConsoleColor.DarkRed;
  88.                         Console.WriteLine($"Вы наносите удар мечом на {playerDamage} урона");
  89.                         Console.ForegroundColor = ConsoleColor.White;
  90.                         bossHealth -= playerDamage;
  91.                         Console.WriteLine($"У некроманта осталось {bossHealth} хп\n");
  92.                         break;
  93.                 }
  94.  
  95.                 bool isRun = true;
  96.  
  97.                 while (isRun == true)
  98.                 {
  99.                     isRun = false;
  100.  
  101.                     Random random = new Random();
  102.                     int choseBossAbilities = random.Next(MenuSceletionSpawn, MenuStrikeAttack + 1);
  103.  
  104.                     switch (choseBossAbilities)
  105.                     {
  106.                         case MenuSceletionSpawn:
  107.                             isSpawnSceletion = true;
  108.                             Console.ForegroundColor = ConsoleColor.Magenta;
  109.                             Console.WriteLine($"Некромант кастует призыв нежити, появляется скелет, наносит вам {sceletionDamage} урона");
  110.                             Console.ForegroundColor = ConsoleColor.White;
  111.                             sceletionQuantity += 1;
  112.                             Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}");
  113.                             playerHealth -= sceletionDamage;
  114.                             Console.WriteLine($"У вас стало {playerHealth} хп\n");
  115.  
  116.                             if (sceletionQuantity > 1)
  117.                             {
  118.                                 for (int i = 0; i < sceletionQuantity - 1; i++)
  119.                                 {
  120.                                     Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
  121.                                     playerHealth -= sceletionDamage;
  122.                                     Console.ForegroundColor = ConsoleColor.Red;
  123.                                     Console.WriteLine($"У вас осталось {playerHealth} хп\n");
  124.                                     Console.ForegroundColor = ConsoleColor.White;
  125.                                 }
  126.                                 Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}\n");
  127.                             }
  128.                             break;
  129.  
  130.                         case MenuStun:
  131.                             isRun = true;
  132.                             Console.ForegroundColor = ConsoleColor.Blue;
  133.                             Console.WriteLine("Некромант кастует стан, вы пропускаете ход\n");
  134.                             Console.ForegroundColor = ConsoleColor.White;
  135.  
  136.                             if (isSpawnSceletion == true)
  137.                             {
  138.                                 for (int i = 0; i < sceletionQuantity; i++)
  139.                                 {
  140.                                     Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
  141.                                     playerHealth -= sceletionDamage;
  142.                                     Console.ForegroundColor = ConsoleColor.Red;
  143.                                     Console.WriteLine($"У вас осталось {playerHealth} хп\n");
  144.                                     Console.ForegroundColor = ConsoleColor.White;
  145.                                 }
  146.                                 Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}\n");
  147.                             }
  148.                             break;
  149.  
  150.                         case MenuDeathTouch:
  151.                             Console.ForegroundColor = ConsoleColor.Red;
  152.                             Console.WriteLine($"Некромант кастует касание смерти (-{deathTouchPercent}% вашего хп)");
  153.                             Console.ForegroundColor = ConsoleColor.White;
  154.                             playerHealth -= (playerHealth / percentCalculation) * deathTouchPercent;
  155.                             Console.WriteLine($"У вас осталось {playerHealth} хп\n");
  156.  
  157.                             if (isSpawnSceletion == true)
  158.                             {
  159.                                 for (int i = 0; i < sceletionQuantity; i++)
  160.                                 {
  161.                                     Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
  162.                                     playerHealth -= sceletionDamage;
  163.                                     Console.WriteLine($"У вас осталось {playerHealth} хп\n");
  164.                                 }
  165.                                 Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}");
  166.                             }
  167.                             break;
  168.  
  169.                         case MenuStrikeAttack:
  170.                             Console.WriteLine($"Некромант наносит вам {bossDamage} урона");
  171.                             playerHealth -= bossDamage;
  172.                             Console.WriteLine($"У вас осталось {playerHealth} хп\n");
  173.  
  174.                             if (ableCastReflectAura == true)
  175.                             {
  176.                                 Console.WriteLine("Сработала аура отражения");
  177.                                 bossHealth -= reflectAuraDamage;
  178.                                 Console.WriteLine($"У некроманта осталось {bossHealth} хп\n");
  179.                             }
  180.  
  181.                             if (isSpawnSceletion == true)
  182.                             {
  183.  
  184.                                 for (int i = 0; i < sceletionQuantity; i++)
  185.                                 {
  186.                                     Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
  187.                                     playerHealth -= sceletionDamage;
  188.                                     Console.WriteLine($"У вас осталось {playerHealth} хп\n");
  189.                                 }
  190.                                 Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}\n");
  191.  
  192.                             }
  193.                             break;
  194.                     }
  195.                 }
  196.             }
  197.  
  198.             if (playerHealth <= 0 && bossHealth <= 0)
  199.             {
  200.                 Console.Clear();
  201.                 Console.ForegroundColor = ConsoleColor.DarkRed;
  202.                 Console.WriteLine("\n*******************************            ОБА МЕРТВЫ!            **************************");
  203.             }
  204.             else if (playerHealth <= 0)
  205.             {
  206.                 Console.Clear();
  207.                 Console.ForegroundColor = ConsoleColor.DarkRed;
  208.                 Console.WriteLine("\n*******************************            ТЫ МЕРТВ!            **************************");
  209.             }
  210.             else if (bossHealth <= 0)
  211.             {
  212.                 Console.BackgroundColor = ConsoleColor.DarkGray;
  213.                 Console.ForegroundColor = ConsoleColor.DarkYellow;
  214.                 Console.WriteLine("\n$$$$$$$$$$$$$$$$              ВЫ ПОБЕДИЛИ!              $$$$$$$$$$$$$$$$");
  215.                 Console.BackgroundColor = ConsoleColor.Black;
  216.             }
  217.         }
  218.     }
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement