Advertisement
alexey3017

Untitled

Mar 24th, 2020
146
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. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Learn1
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Warrior[] warriors = { new Warrior("Иллидан", 130, 10, 25), new Knight("Гаррош", 160, 7, 22), new Rogue("Рагнарос", 180, 2, 33, 2), new Paladin("Нефариан", 220, 0, 29), new Mage("Смертокрыл", 500, 0, 15) };
  13.  
  14.             for (int i = 0; i < warriors.Length; i++)
  15.             {
  16.                 Console.Write(i + " ");
  17.                 warriors[i].ShowInfo();
  18.             }
  19.  
  20.             Console.WriteLine("Выберите Первого бойца:");
  21.             int righWarriorIndex = Convert.ToInt32(Console.ReadLine());
  22.             Warrior rightWarrior = warriors[righWarriorIndex];
  23.             Console.WriteLine("Выберите Второго бойца:");
  24.             int leftWarriorIndex = Convert.ToInt32(Console.ReadLine());
  25.             Warrior leftWarrior = warriors[leftWarriorIndex];
  26.  
  27.             while (leftWarrior.Health > 0 && rightWarrior.Health > 0)
  28.             {
  29.                 Console.WriteLine();
  30.                 leftWarrior.TakeDamage(rightWarrior.Damage);
  31.                 rightWarrior.TakeDamage(leftWarrior.Damage);
  32.                 leftWarrior.ShowInfo();
  33.                 rightWarrior.ShowInfo();
  34.             }
  35.         }
  36.     }
  37.  
  38.     class Warrior
  39.     {
  40.         private string _name;
  41.         private int _health;
  42.         private int _armor;
  43.         private int _damage;
  44.  
  45.         public Warrior(string name, int health, int armor, int damage)
  46.         {
  47.             _name = name;
  48.             _health = health;
  49.             _armor = armor;
  50.             _damage = damage;
  51.         }
  52.  
  53.         public int Health
  54.         {
  55.             get
  56.             {
  57.                 return _health;
  58.             }
  59.         }
  60.  
  61.         public int Damage
  62.         {
  63.             get
  64.             {
  65.                 return _damage;
  66.             }
  67.        
  68.         }
  69.         public void Pray()
  70.         {
  71.             _armor += 3;
  72.         }
  73.        
  74.         public void ShowInfo()
  75.         {
  76.             Console.WriteLine($"{_name}: ХП - {_health}, Броня - {_armor}, Дамаг - {_damage}");
  77.         }
  78.  
  79.         public void TakeDamage(int damage)
  80.         {
  81.             _health -= damage - _armor;
  82.         }
  83.     }
  84.  
  85.     class Knight : Warrior
  86.     {
  87.         public Knight(string name, int health, int armor, int damage) : base(name, health, armor, damage)
  88.         {
  89.  
  90.         }
  91.        
  92.         public int DoubleDamage(int damage, int health)
  93.         {
  94.             if (health < 30)
  95.             {
  96.                 int doubleDamage = damage * damage;
  97.                 return doubleDamage;
  98.             }
  99.             else
  100.             {
  101.                 return damage;
  102.             }
  103.         }
  104.     }
  105.  
  106.     class Rogue : Warrior
  107.     {
  108.  
  109.         public Rogue(string name, int health, int armor, int damage, int attackSpeed) : base(name, health, armor, damage * attackSpeed)
  110.         {
  111.         }
  112.  
  113.         public int CurseDamage(int damage, int health)
  114.         {
  115.             if (Health < 50)
  116.             {
  117.                 return damage += 10;
  118.  
  119.             }
  120.             else
  121.             {
  122.                 return damage;
  123.             }
  124.         }
  125.     }
  126.  
  127.     class Paladin : Warrior
  128.     {
  129.  
  130.         public Paladin(string name, int health, int armor, int damage) : base(name, health, armor, damage)
  131.         {
  132.         }
  133.  
  134.         public int GrateHeal(int health)
  135.         {
  136.             if (health < 20)
  137.             {
  138.                 return health += 50;
  139.             }
  140.             else
  141.             {
  142.                 return health;
  143.             }
  144.         }
  145.  
  146.     }
  147.     class Mage : Warrior
  148.     {
  149.  
  150.         public Mage(string name, int health, int armor, int damage) : base(name, health, armor, damage)
  151.         {
  152.         }
  153.  
  154.         public void TakeDamagePyro(int damage, int health)
  155.         {
  156.             health -= damage * 2;
  157.         }
  158.  
  159.     }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement