Vapio

task43

Jun 22nd, 2021 (edited)
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.73 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. public class Program
  6. {
  7.     public static void Main(string[] args)
  8.     {
  9.         Army army = new Army();
  10.         army.ShowSoldiers();
  11.     }
  12. }
  13.  
  14. public class Army
  15. {
  16.     private Random _random;
  17.     private List<Soldier> _soldiers;
  18.  
  19.     public Army()
  20.     {
  21.         _soldiers = new List<Soldier>();
  22.         _random = new Random();
  23.         CreateSoldiers();
  24.     }
  25.  
  26.     public void ShowSoldiers()
  27.     {
  28.         var soldiersFiltered = _soldiers.Select(soldier => new
  29.                                                            {
  30.                                                                Name = soldier.Name,
  31.                                                                Rank = soldier.Rank
  32.                                                            }
  33.                                                 ).ToList();
  34.         Console.WriteLine("Soldiers : ");
  35.         foreach (var soldier in soldiersFiltered)
  36.             Console.WriteLine($"{soldier.Name} - {soldier.Rank}");
  37.     }
  38.  
  39.     private void CreateSoldiers()
  40.     {
  41.         string[] names = { "Nick", "Rick", "Dick", "Virgil", "Dante" };
  42.         string[] armaments = { "M9", "M11", "M18", "MP5", "Mk 28" };
  43.         string[] ranks = {
  44.             "silver",
  45.             "silver elite",
  46.             "silver elite master",
  47.             "gold nova",
  48.             "master guardian",
  49.             "distinguished master guardian",
  50.             "legendary eagle",
  51.             "supreme master first class",
  52.             "global elite"
  53.         };
  54.  
  55.         int soldiersAmountMinimum = 10;
  56.         int soldiersAmountMaximum = 100;
  57.  
  58.         int serviceTimeMinimum = 1;
  59.         int serviceTimeMaximum = 48;
  60.  
  61.         int amountSoldiers = _random.Next(soldiersAmountMinimum, soldiersAmountMaximum);
  62.  
  63.         string name;
  64.         string armament;
  65.         string rank;
  66.         int serviceTime;
  67.  
  68.         for (int i = 0; i < amountSoldiers; ++i)
  69.         {
  70.             name = names[_random.Next(names.Length)];
  71.             armament = armaments[_random.Next(armaments.Length)];
  72.             rank = ranks[_random.Next(ranks.Length)];
  73.             serviceTime = _random.Next(serviceTimeMinimum, serviceTimeMaximum);
  74.             _soldiers.Add(new Soldier(name, armament, rank, serviceTime));
  75.         }
  76.     }
  77. }
  78.  
  79. public class Soldier
  80. {
  81.     public string Name { get; private set; }
  82.     public string Armament { get; private set; }
  83.     public string Rank { get; private set; }
  84.     public int ServiceTime { get; private set; }
  85.  
  86.     public Soldier(string name, string armament, string rank, int serviceTime)
  87.     {
  88.         Name = name;
  89.         Armament = armament;
  90.         Rank = rank;
  91.         ServiceTime = serviceTime;
  92.     }
  93. }
Add Comment
Please, Sign In to add comment