Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace GladiatorsFight
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool exit = false;
- Fighter fighterOne;
- Fighter fighterTwo;
- Random rand = new Random();
- while (!exit)
- {
- Fighter[] fighters = {
- new Fighter("Bob", 100, 50, 50),
- new Fighter("Len", 200, 100, 10),
- new Fighter("Kukky", 100, 100, 20),
- new Fighter("Olly", 150, 70, 15),
- new Fighter("Ren", 150, 50, 60)
- };
- Console.Clear();
- for (int i = 0; i < fighters.Length; i++)
- {
- Console.Write((i + 1) + ". ");
- fighters[i].ShowStats();
- }
- Console.Write("\nВыберите левого бойца: ");
- fighterOne = fighters[Convert.ToInt32(Console.ReadLine()) - 1];
- Console.Write("\nВыберите правого бойца: ");
- fighterTwo = fighters[Convert.ToInt32(Console.ReadLine()) - 1];
- Console.Clear();
- Console.WriteLine($"На арене сражаются: {fighterOne.Name} против {fighterTwo.Name}");
- while (fighterOne.Health > 0 && fighterTwo.Health > 0)
- {
- fighterOne.TakeDamage(fighterTwo.Damage, rand);
- fighterTwo.TakeDamage(fighterOne.Damage, rand);
- fighterOne.ShowStats();
- fighterTwo.ShowStats();
- Console.WriteLine();
- }
- if (fighterOne.Health >= 0)
- {
- Console.WriteLine($"Сегодня победил {fighterOne.Name}");
- }
- else
- {
- Console.WriteLine($"Сегодня победил {fighterTwo.Name}");
- }
- Console.ReadKey();
- }
- }
- }
- class Fighter
- {
- public float Health { get; private set; }
- public string Name { get; private set; }
- public float Damage { get; private set; }
- public float Armor { get; private set; }
- public Fighter(string name, float health, float damage, float armor)
- {
- Health = health;
- Name = name;
- Damage = damage;
- Armor = armor;
- }
- public void ShowStats()
- {
- Console.WriteLine($"{Name}: HP - {Health}, Damage - {Damage}, Armor - {Armor}");
- }
- public void TakeDamage(float enemyDamage, Random rand)
- {
- if (rand.Next(0, 100) <= rand.Next(0, 100))
- {
- Console.WriteLine($"{Name} увернулся!");
- }
- else
- {
- Health -= enemyDamage / 100 * (100 - Armor);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement