Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Homework6
- {
- class Program
- {
- static void Main(string[] args)
- {
- Arena arena = new Arena();
- arena.Fight();
- }
- }
- class Arena
- {
- private List<Fighter> _fighters = new List<Fighter>
- {
- new Heavy(200,25,"Heavy"),
- new Archer(100,20,"Archer"),
- new Healer(140,10,"Healer"),
- new Wizard(80,25,"Wizard"),
- new Lite(60,20,"Lite")
- };
- public void Fight()
- {
- Random random = new Random();
- int _superPowerChance;
- for (int i = 0; i < _fighters.Count; i++)
- {
- Console.WriteLine(i + " Health " + _fighters[i].Health + " Damage " + _fighters[i].Damage + " Name " + _fighters[i].Name);
- }
- Console.Write("Выберите первого бойца:");
- Fighter firstFighter = new Fighter(Convert.ToInt32(Console.ReadLine()), _fighters);
- Console.Write("Выберите второго бойца:");
- Fighter secondFighter = new Fighter(Convert.ToInt32(Console.ReadLine()), _fighters);
- while (firstFighter.Health >= 0 && secondFighter.Health >= 0)
- {
- firstFighter.ShowInfo();
- secondFighter.ShowInfo();
- _superPowerChance = random.Next(0, 5);
- if (_superPowerChance == 4)
- {
- firstFighter.SuperPower();
- }
- else
- {
- secondFighter.TakeDamage(firstFighter.Damage);
- }
- _superPowerChance = random.Next(0, 5);
- if (_superPowerChance == 4)
- {
- secondFighter.SuperPower();
- }
- else
- {
- firstFighter.TakeDamage(secondFighter.Damage);
- }
- random.Next(0, 5);
- firstFighter.TakeDamage(secondFighter.Damage);
- }
- }
- }
- class Fighter
- {
- public int Health { get; protected set; }
- public int Damage { get; protected set; }
- public string Name { get; protected set; }
- public Fighter(int health, int damage, string name)
- {
- Health = health;
- Damage = damage;
- Name = name;
- }
- public Fighter(int index, List<Fighter> fighters)
- {
- Health = fighters[index].Health;
- Damage = fighters[index].Damage;
- Name = fighters[index].Name;
- }
- public void TakeDamage(int damage)
- {
- Health -= damage;
- }
- public void ShowInfo()
- {
- Console.WriteLine(Health);
- Console.WriteLine(Damage);
- Console.WriteLine();
- }
- public virtual void SuperPower() { }
- }
- class Heavy : Fighter
- {
- public Heavy(int health, int damage, string name) : base(health, damage, name) { }
- public override void SuperPower()
- {
- Health -= 5;
- Damage += 5;
- }
- }
- class Archer : Fighter
- {
- public Archer(int health, int damage, string name) : base(health, damage, name) { }
- public override void SuperPower()
- {
- Health += 3;
- Damage += 10;
- }
- }
- class Healer : Fighter
- {
- public Healer(int health, int damage, string name) : base(health, damage, name) { }
- public override void SuperPower()
- {
- Health += 15;
- Damage += 1;
- }
- }
- class Wizard : Fighter
- {
- public Wizard(int health, int damage, string name) : base(health, damage, name) { }
- public override void SuperPower()
- {
- Health += 30;
- Damage += 5;
- }
- }
- class Lite : Fighter
- {
- public Lite(int health, int damage, string name) : base(health, damage, name) { }
- public override void SuperPower()
- {
- Health -= 10;
- Damage *= 2;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment