Advertisement
Askor

Hw44

Dec 20th, 2021
1,080
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.39 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.  
  7. namespace Army
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Army army = new Army();
  14.             army.TakeDataOnRequest();
  15.             Console.ReadKey();
  16.         }
  17.     }
  18.  
  19.     class Army
  20.     {
  21.         private List<Soldier> _soldiers = new List<Soldier>();
  22.  
  23.         public Army()
  24.         {
  25.             Fill();
  26.         }
  27.  
  28.         public void TakeDataOnRequest()
  29.         {
  30.             var dataFromSoldiers = _soldiers.Select(soldier => soldier.Name + "-" + soldier.Rank);
  31.  
  32.             foreach (var soldier in dataFromSoldiers)
  33.             {
  34.                 Console.WriteLine(soldier);
  35.             }
  36.         }
  37.  
  38.         private void Fill()
  39.         {
  40.             _soldiers.Add(new Soldier("Jefri", Rank.Cadet, Weapon.AutomaticRifle, 4));
  41.             _soldiers.Add(new Soldier("Konan", Rank.Captain, Weapon.BattleRifle, 25));
  42.             _soldiers.Add(new Soldier("Luis", Rank.SecondLieutenant, Weapon.ExplosiveDevices, 12));
  43.             _soldiers.Add(new Soldier("Kovalski", Rank.SecondLieutenant, Weapon.SniperRifle, 18));
  44.             _soldiers.Add(new Soldier("Pain", Rank.Major, Weapon.Sidearm, 36));
  45.             _soldiers.Add(new Soldier("Shkiper", Rank.Colonel, Weapon.ExplosiveDevices, 42));
  46.         }
  47.     }
  48.  
  49.     class Soldier
  50.     {
  51.         private Weapon _weapon;
  52.         private Rank _rank;
  53.  
  54.         public string Name { get; private set; }
  55.         public int ServiceLife { get; private set; }
  56.  
  57.         public string Weapon => _weapon.ToString();
  58.         public string Rank => _rank.ToString();
  59.        
  60.         public Soldier(string name, Rank rank, Weapon weapon, int serviceLife)
  61.         {
  62.             Name = name;
  63.             _rank = rank;
  64.             _weapon = weapon;
  65.             ServiceLife = serviceLife;
  66.         }
  67.  
  68.         public void ShowInfo()
  69.         {
  70.             Console.WriteLine($"Name - {Name}, Rank - {Rank}, Weapon - {Weapon}, Service life - {ServiceLife}");
  71.         }
  72.     }
  73.  
  74.     enum Weapon
  75.     {
  76.         Sidearm,
  77.         AutomaticRifle,
  78.         BattleRifle,
  79.         SniperRifle,
  80.         MachinGun,
  81.         ExplosiveDevices
  82.     }
  83.  
  84.     enum Rank
  85.     {
  86.         Cadet,
  87.         SecondLieutenant,
  88.         FirstLieutenant,
  89.         Captain,
  90.         Major,
  91.         Colonel
  92.     }
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement