Advertisement
Alexander_Maximov

Untitled

Mar 16th, 2023
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.95 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace GladiatorFight
  5. {
  6.     internal class Program
  7.     {
  8.         public static void Main(string[] args)
  9.         {
  10.             UserInput userInput = new UserInput();
  11.            
  12.             Warlord warlord = new Warlord("Warlord", 6000, 150, 25);
  13.             Duelist duelist = new Duelist("Duelist", 5000, 200, 20);
  14.             BountyHunter bountyHunter = new BountyHunter("Bounty Hunter", 3000, 300, 5, 100);
  15.             Sagittarius sagittarius = new Sagittarius("Sagittarius", 3200, 500, 1);
  16.             Gladiator gladiator = new Gladiator("Gladiator", 7000, 100, 15);
  17.            
  18.             List<Fighter> fighters = new List<Fighter>() {warlord, duelist, bountyHunter, sagittarius, gladiator};
  19.            
  20.             FightersManager fightersManager = new FightersManager(fighters,userInput);
  21.  
  22.             fightersManager.ShowGladiatorsInfo();
  23.            
  24.             Fighter rightFighter = fightersManager.GetRightFighterByName();
  25.             Fighter leftFighter = fightersManager.GetLeftFighterByName();
  26.  
  27.             bool winStatus = true;
  28.            
  29.             for (int i = 1; leftFighter.Health > 0 && rightFighter.Health > 0; i++)
  30.             {
  31.                 if (i % 2 == 0)
  32.                 {
  33.                     Console.ForegroundColor = ConsoleColor.Red;
  34.                     leftFighter.TakeDamage(rightFighter.UseSkill(i));
  35.                     winStatus = leftFighter.ShowFightersHealthInfo();
  36.                     Console.ForegroundColor = ConsoleColor.Green;
  37.                     rightFighter.TakeDamage(leftFighter.UseSkill(i));
  38.                     rightFighter.ShowFightersHealthInfo();
  39.                     Console.ResetColor();
  40.                 }
  41.  
  42.                 else
  43.                 {
  44.                     Console.ForegroundColor = ConsoleColor.Red;
  45.                     leftFighter.TakeDamage(rightFighter.GetDamage());
  46.                     winStatus = leftFighter.ShowFightersHealthInfo();
  47.                     Console.ForegroundColor = ConsoleColor.Green;
  48.                     rightFighter.TakeDamage(leftFighter.GetDamage());
  49.                     rightFighter.ShowFightersHealthInfo();
  50.                     Console.ResetColor();
  51.                 }
  52.  
  53.                 Console.ReadKey();
  54.             }
  55.            
  56.             ShowWinStatus(winStatus, rightFighter, leftFighter);
  57.         }
  58.  
  59.         private static void ShowWinStatus(bool winStatus, Fighter rightFighter, Fighter leftFighter)
  60.         {
  61.             if (winStatus == false)
  62.             {
  63.                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  64.                 Console.WriteLine($"Воин - {rightFighter.Name} выйграл.");
  65.             }
  66.  
  67.             else
  68.             {
  69.                 Console.ForegroundColor = ConsoleColor.DarkRed;
  70.                 Console.WriteLine($"Воин - {leftFighter.Name} выйграл.");
  71.             }
  72.            
  73.             Console.ResetColor();
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement