AlexRaynor

2.7 Bossfight

Sep 3rd, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.97 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp13
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Console.WindowWidth = 84;
  14.             Console.WindowHeight = 65;
  15.  
  16.             int BossHealth = 500;
  17.             int PlayerHealth = 100;
  18.             int BloodLustAttackPower = 50;
  19.             bool IsBloodLustActive = false;
  20.             int BloodLustDebuff = 30;
  21.             int StoneSkin = 30;
  22.             int ExecutionAttackPower = 90;
  23.             int HeroStrikeAttackPower = 70;
  24.             int SelfDamageHeroStrike = 10;
  25.             bool HeroStrikeCooldown = false;
  26.             int numberOfStage = 1;
  27.             int playerAbilityChoise;
  28.  
  29.             Random rand = new Random();
  30.             int BossAttackPower = rand.Next(10, 20);
  31.  
  32.             // Отрисовка
  33.  
  34.             Console.WriteLine("          " + "O" + "          " + "O" + "          " + "O" + "          " + "O" + "          " + "O           \\/");
  35.             Console.WriteLine("       " + "/" + "     " + "\\" + "    " + "/" + "     " + "\\" + "    " + "/" + "     " + "\\" + "    " + "/" + "     " + "\\" + "    " + "/" + "     " + "\\" + "        " + "/");
  36.             Console.WriteLine("     " + "//       \\\\//       \\\\//       \\\\//       \\\\//       \\______/");
  37.             Console.WriteLine("   {''}       /  \\       /  \\       /  \\       /  \\");
  38.             Console.WriteLine();
  39.  
  40.             Console.WriteLine("Вы выходите на огромную арену, и перед вами возникает Многоножка Пожиратель трупов.");
  41.             Console.WriteLine("Вы профи, а значит все ваши самые юзабильные абилки забиндены по цифрами 1-4");
  42.             Console.WriteLine(" 1. Кровопуск. Отнимает  50 здоровья Босса, накладывает эффект «Кровотечения». - 30 здоровья каждый ход.");
  43.             Console.WriteLine(" 2. Стальная кожа – вы восстанавливаете 30 здоровья. ");
  44.             Console.WriteLine(" 3. Казнь – если на боссе эффект кровотечения, то наносит 90 урона, иначе – 0.");
  45.             Console.WriteLine(" 4. Удар героя – отнимает у вас 10 здоровья, наносит 70 урона боссу. Можно применить 1 раз за два хода.");
  46.  
  47.  
  48.             // Первый ход
  49.  
  50.             Console.WriteLine("\n");
  51.             Console.WriteLine("Ход " + numberOfStage);
  52.             Console.WriteLine("Вы начинаете бой, введите номер абилки...");
  53.             playerAbilityChoise = int.Parse(Console.ReadLine());
  54.  
  55.             switch (playerAbilityChoise)
  56.             {
  57.                 case 1:
  58.                     BossHealth -= BloodLustAttackPower;
  59.                     IsBloodLustActive = true;
  60.  
  61.                     break;
  62.                 case 2:
  63.                     Console.WriteLine("У вас полное здоровье, забыли?");
  64.                     break;
  65.                 case 3:
  66.                     if (IsBloodLustActive)
  67.                     {
  68.                         BossHealth -= ExecutionAttackPower;
  69.                     }
  70.                     else
  71.                     {
  72.                         BossHealth -= 0;
  73.                         Console.WriteLine("Босс не истекает кровью, ваша атака не принесла плодов");
  74.                     }
  75.  
  76.  
  77.                     break;
  78.                 case 4:
  79.                     BossHealth -= HeroStrikeAttackPower;
  80.                     PlayerHealth -= SelfDamageHeroStrike;
  81.                     HeroStrikeCooldown = true;
  82.  
  83.                     break;
  84.  
  85.  
  86.             }
  87.             Console.WriteLine("Браво, первая атака за вами, но ваш ход окончен.");
  88.             Console.WriteLine("Здоровье игрока " + PlayerHealth + " Здоровье Босса " + BossHealth);
  89.  
  90.             Console.WriteLine("Теперь черед атаки Босса");
  91.  
  92.             BossAttackPower = rand.Next(10, 20);
  93.             PlayerHealth -= BossAttackPower;
  94.             Console.WriteLine("Босс применяет трупный плевок – вы теряете " + BossAttackPower + " жизней.");
  95.             if (IsBloodLustActive == true)
  96.             {
  97.                 BossHealth -= BloodLustDebuff;
  98.                 Console.WriteLine("Босс теряет 30 жизней от кровопотери");
  99.             }
  100.             Console.WriteLine("Здоровье игрока " + PlayerHealth + " Здоровье Босса " + BossHealth);
  101.             numberOfStage++;
  102.  
  103.             // Цикл последующих ходов
  104.  
  105.             while (PlayerHealth > 0 && BossHealth > 0)    
  106.             {
  107.                 Console.WriteLine("\n");
  108.                 Console.WriteLine("Ход " + numberOfStage);
  109.                
  110.                 // Атака Игрока
  111.  
  112.                 Console.WriteLine("И снова ваш ход, введите номер абилки...");
  113.                 playerAbilityChoise = int.Parse(Console.ReadLine());
  114.                 switch (playerAbilityChoise)
  115.                 {
  116.                     case 1:
  117.                         BossHealth -= BloodLustAttackPower;
  118.                         IsBloodLustActive = true;
  119.                         HeroStrikeCooldown = false;
  120.                         break;
  121.                     case 2:
  122.  
  123.                         if (PlayerHealth < 100)
  124.                         {
  125.                             PlayerHealth += StoneSkin;
  126.  
  127.                             if (PlayerHealth > 100)
  128.                             {
  129.                                 PlayerHealth = 100;
  130.                             }
  131.                         }
  132.                         else
  133.                         {
  134.                             Console.WriteLine("У вас полное здоровье, забыли?");
  135.  
  136.                         }
  137.  
  138.                         HeroStrikeCooldown = false;
  139.                         break;
  140.                     case 3:
  141.                         if (IsBloodLustActive == true)
  142.                         {
  143.                             BossHealth -= ExecutionAttackPower;
  144.                         }
  145.                         else
  146.                         {
  147.                             BossHealth -= 0;
  148.                             Console.WriteLine("Босс не истекает кровью, ваша атака не принесла плодов");
  149.                         }
  150.  
  151.                         HeroStrikeCooldown = false;
  152.                         break;
  153.                     case 4:  
  154.  
  155.                         if (HeroStrikeCooldown == false)
  156.                         {
  157.                             BossHealth -= HeroStrikeAttackPower;
  158.                             PlayerHealth -= SelfDamageHeroStrike;
  159.                             HeroStrikeCooldown = true;
  160.                         }
  161.                         else
  162.                         {
  163.                             Console.WriteLine("Вы уже применяли атаку в прошлом ходу");
  164.                         }
  165.                         HeroStrikeCooldown = false;
  166.                         break;
  167.  
  168.  
  169.                 }
  170.                 Console.WriteLine("Неплохо, но ваш ход окончен.");
  171.                 Console.WriteLine("Здоровье игрока " + PlayerHealth + ", Здоровье Босса " + BossHealth);
  172.  
  173.  
  174.                 // Атака Босса
  175.  
  176.                 if (PlayerHealth > 0 && BossHealth > 0)
  177.                 {
  178.  
  179.                     Console.WriteLine("Теперь черед атаки Босса");
  180.  
  181.                     BossAttackPower = rand.Next(10, 20);
  182.                     PlayerHealth -= BossAttackPower;
  183.                     Console.WriteLine("Босс применяет трупный плевок – вы теряете " + BossAttackPower + " жизней.");
  184.  
  185.                     if (IsBloodLustActive == true)
  186.                     {
  187.                         BossHealth -= BloodLustDebuff;
  188.                         Console.WriteLine("Босс теряет 30 жизней от кровопотери");
  189.                     }
  190.  
  191.                     Console.WriteLine("Здоровье игрока " + PlayerHealth + " Здоровье Босса " + BossHealth);
  192.                     ++numberOfStage;
  193.  
  194.                 }
  195.             }
  196.             // Завершение боя
  197.             Console.WriteLine("Бой окончен");
  198.             if (PlayerHealth < 0)
  199.             {
  200.                 Console.WriteLine("YOU DIED");
  201.             }
  202.             else
  203.             {
  204.                 Console.WriteLine("Наследник огня повержен");
  205.             }
  206.  
  207.         }
  208.     }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment