Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// Exercise 2
- using System;
- using System.Threading;
- namespace Delegates
- {
- class Program
- {
- static int Health = 1000;
- static int Armor = 20;
- static void WriteColorLine(string text, ConsoleColor color = ConsoleColor.Yellow)
- {
- ConsoleColor oldColor = Console.ForegroundColor;
- Console.ForegroundColor = color;
- Console.WriteLine(text);
- Console.ForegroundColor = oldColor;
- }
- static void Damage(int dmg) => Health = Health - (dmg - Armor);
- static void Attack(int attackNumber)
- {
- if (attackNumber == 0)
- {
- WriteColorLine("Босс атаковал с немыслимой яростью своими руками", ConsoleColor.DarkRed);
- Damage(100);
- }
- else if (attackNumber == 1)
- {
- WriteColorLine("Босс исполнил новый альбом Ольги бузовой", ConsoleColor.DarkMagenta);
- Damage(140);
- }
- else if (attackNumber == 2)
- {
- WriteColorLine("Босс паник и рассказал вам о своём долгом пути и дал пару советов, после выпил ритуальный стопарь боярки", ConsoleColor.DarkGray);
- Damage(80);
- }
- }
- static void Main(string[] args)
- {
- WriteColorLine("Босс может атаковать в двух режимах: все атаки по очереди и случайной атакой", ConsoleColor.Yellow);
- bool isRandomAttack = (DateTime.Now.Millisecond % 2) == 0;
- WriteColorLine("Босс будет атаковать: " + (isRandomAttack ? "случайно" : "все атаки по очереди"), ConsoleColor.Yellow);
- WriteColorLine("Нажмите enter для начала боя", ConsoleColor.Green);
- Console.ReadLine();
- int attackNumber = 0;
- while (Health > 0)
- {
- Console.Clear();
- WriteColorLine("У вас здоровья: " + Health, ConsoleColor.Red);
- if (isRandomAttack)
- Attack(DateTime.Now.Millisecond % 3);
- else
- {
- Attack(attackNumber);
- attackNumber = ++attackNumber % 3;
- }
- Thread.Sleep(4000);
- }
- WriteColorLine("Бой закончен, вы погибли", ConsoleColor.DarkGray);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement