Advertisement
SnowPhoenix347

5.6

Nov 15th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.02 KB | None | 0 0
  1. using System;
  2.  
  3. namespace FifthProject
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Gladiator[] gladiators = new Gladiator[5];
  10.             Arena arena = new Arena();
  11.  
  12.             arena.AddGladiators(gladiators);
  13.             arena.SelectGladiators(gladiators);
  14.             arena.Fight(gladiators);
  15.             Console.ReadKey();
  16.         }
  17.     }
  18.  
  19.     class Gladiator
  20.     {
  21.         public int Health { get; set; }
  22.         public int Damage { get; set; }
  23.         public int Armor { get; set; }
  24.  
  25.         public Gladiator(int health, int damage, int armor)
  26.         {
  27.             Health = health;
  28.             Damage = damage;
  29.             Armor = armor;
  30.         }
  31.     }
  32.  
  33.     class Arena
  34.     {
  35.         private int _firstGladiator;
  36.         private int _secondGladiator;
  37.  
  38.         private void ShowGladiators(Gladiator[] gladiators)
  39.         {
  40.             for (int i = 0; i < gladiators.Length; i++)
  41.             {
  42.                 Console.WriteLine($"{i+1}. Здоровье: {gladiators[i].Health}. Урон: {gladiators[i].Damage}. Коэф-нт брони: {gladiators[i].Armor}");
  43.             }
  44.         }
  45.  
  46.         public void AddGladiators(Gladiator[] gladiators)
  47.         {
  48.             for (int i = 0; i < gladiators.Length; i++)
  49.             {
  50.                 Console.WriteLine($"Здоровье гладиатора номер {i + 1}");
  51.                 int health = Convert.ToInt32(Console.ReadLine());
  52.                 Console.WriteLine($"Урон гладиатора номер {i + 1}");
  53.                 int damage = Convert.ToInt32(Console.ReadLine());
  54.                 Console.WriteLine($"Броня(0-100) гладиатора номер {i + 1}");
  55.                 int armor = Convert.ToInt32(Console.ReadLine());
  56.                 gladiators[i] = new Gladiator(health, damage, armor);
  57.             }
  58.         }
  59.  
  60.         public void SelectGladiators(Gladiator[] gladiators)
  61.         {
  62.             ShowGladiators(gladiators);
  63.             Console.WriteLine("Выберите первого гладиатора");
  64.             _firstGladiator = Convert.ToInt32(Console.ReadLine()) - 1;
  65.             Console.WriteLine("Выберите второго гладиатора");
  66.             _secondGladiator = Convert.ToInt32(Console.ReadLine()) - 1;
  67.         }
  68.  
  69.         public void ShowActiveGladiators(Gladiator[] gladiators, int firstGladiator, int secondGladiator)
  70.         {
  71.             Console.WriteLine($"Здоровье: {gladiators[firstGladiator].Health}\n" +
  72.                               $"Здоровье:{gladiators[secondGladiator].Health}");
  73.         }
  74.  
  75.         public void TakeDamage(Gladiator[] gladiators, int firstGladiators, int secondGladiators)
  76.         {
  77.             gladiators[firstGladiators].Health -=
  78.                 gladiators[secondGladiators].Damage * gladiators[firstGladiators].Armor / 100;
  79.             gladiators[secondGladiators].Health -=
  80.                 gladiators[firstGladiators].Damage * gladiators[secondGladiators].Armor / 100;
  81.         }
  82.  
  83.         public void Fight(Gladiator[] gladiators)
  84.         {
  85.             bool fight = true;
  86.             while (fight)
  87.             {
  88.                 ShowActiveGladiators(gladiators, _firstGladiator, _secondGladiator);
  89.                 TakeDamage(gladiators, _firstGladiator, _secondGladiator);
  90.                 if (gladiators[_firstGladiator].Health <= 0 && gladiators[_secondGladiator].Health <= 0)
  91.                 {
  92.                     Console.WriteLine("Ничья");
  93.                 }
  94.                 else if (gladiators[_firstGladiator].Health <= 0)
  95.                 {
  96.                     Console.WriteLine("Победа второго гладиатора");
  97.                     fight = false;
  98.                 }
  99.                 else if (gladiators[_secondGladiator].Health <= 0)
  100.                 {
  101.                     Console.WriteLine("Победа первого бойца");
  102.                     fight = false;
  103.                 }
  104.  
  105.                 Console.WriteLine("");
  106.             }
  107.         }
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement