Advertisement
centner_dc

Exercise 2

Aug 13th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1. /// Exercise 2
  2.  
  3. using System;
  4. using System.Threading;
  5.  
  6. namespace Delegates
  7. {
  8.     class Program
  9.     {
  10.         static int Health = 1000;
  11.         static int Armor = 20;
  12.  
  13.         static void WriteColorLine(string text, ConsoleColor color = ConsoleColor.Yellow)
  14.         {
  15.             ConsoleColor oldColor = Console.ForegroundColor;
  16.             Console.ForegroundColor = color;
  17.             Console.WriteLine(text);
  18.             Console.ForegroundColor = oldColor;
  19.         }
  20.  
  21.         static void Damage(int dmg) => Health = Health - (dmg - Armor);
  22.  
  23.         static void Attack(int attackNumber)
  24.         {
  25.             if (attackNumber == 0)
  26.             {
  27.                 WriteColorLine("Босс атаковал с немыслимой яростью своими руками", ConsoleColor.DarkRed);
  28.                 Damage(100);
  29.             }
  30.             else if (attackNumber == 1)
  31.             {
  32.                 WriteColorLine("Босс исполнил новый альбом Ольги бузовой", ConsoleColor.DarkMagenta);
  33.                 Damage(140);
  34.             }
  35.             else if (attackNumber == 2)
  36.             {
  37.                 WriteColorLine("Босс паник и рассказал вам о своём долгом пути и дал пару советов, после выпил ритуальный стопарь боярки", ConsoleColor.DarkGray);
  38.                 Damage(80);
  39.             }
  40.         }
  41.  
  42.  
  43.         static void Main(string[] args)
  44.         {
  45.             WriteColorLine("Босс может атаковать в двух режимах: все атаки по очереди и случайной атакой", ConsoleColor.Yellow);
  46.  
  47.             bool isRandomAttack = (DateTime.Now.Millisecond % 2) == 0;
  48.  
  49.             WriteColorLine("Босс будет атаковать: " + (isRandomAttack ? "случайно" : "все атаки по очереди"), ConsoleColor.Yellow);
  50.             WriteColorLine("Нажмите enter для начала боя", ConsoleColor.Green);
  51.             Console.ReadLine();
  52.  
  53.             int attackNumber = 0;
  54.             while (Health > 0)
  55.             {
  56.                 Console.Clear();
  57.                 WriteColorLine("У вас здоровья: " + Health, ConsoleColor.Red);
  58.  
  59.                 if (isRandomAttack)
  60.                     Attack(DateTime.Now.Millisecond % 3);
  61.                 else
  62.                 {
  63.                     Attack(attackNumber);
  64.                     attackNumber = ++attackNumber % 3;
  65.                 }
  66.  
  67.                 Thread.Sleep(4000);
  68.             }
  69.  
  70.             WriteColorLine("Бой закончен, вы погибли", ConsoleColor.DarkGray);
  71.         }
  72.  
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement