Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class Program
- {
- public static void Main(string[] args)
- {
- Army army = new Army();
- army.ShowSoldiersGroups();
- army.DraftSoldiers();
- army.ShowSoldiersGroups();
- }
- }
- public class Army
- {
- private Random _random;
- private List<Soldier> _soldiersGroupFirst;
- private List<Soldier> _soldiersGroupSecond;
- public Army()
- {
- _soldiersGroupFirst = new List<Soldier>();
- _soldiersGroupSecond = new List<Soldier>();
- _random = new Random();
- CreateSoldiers(_soldiersGroupFirst);
- CreateSoldiers(_soldiersGroupSecond);
- }
- public void ShowSoldiersGroups()
- {
- Console.WriteLine("\nFirst Group : ");
- PrintSoldiers(_soldiersGroupFirst);
- Console.WriteLine("\nSeond Group : ");
- PrintSoldiers(_soldiersGroupSecond);
- }
- public void DraftSoldiers()
- {
- string letterSurnameStart = "B";
- Console.WriteLine("\n\nDraft Soldiers from Group First to Group Second.\n");
- var soldiersFiltered = _soldiersGroupFirst.Where(soldier => soldier.Surname.StartsWith(letterSurnameStart));
- _soldiersGroupSecond.AddRange(soldiersFiltered);
- _soldiersGroupFirst = _soldiersGroupFirst.Where(soldier =>
- soldier.Surname.StartsWith(letterSurnameStart) != true).
- ToList();
- }
- private void PrintSoldiers(List<Soldier> soldiers)
- {
- Console.WriteLine();
- foreach (var soldier in soldiers)
- Console.WriteLine(soldier);
- }
- private void CreateSoldiers(List<Soldier> soldiers)
- {
- string[] names = { "Nick", "Rick", "Dick", "Virgil", "Dante" };
- string[] surnames = {
- "Alonso",
- "Álvarez",
- "Andrade",
- "Ávalos",
- "Ávila",
- "Barrios",
- "Beltrán",
- "Benítez",
- "Blanco",
- "Bonilla",
- "Bravo",
- "Cárdenas",
- "Córdova",
- "Dávila",
- "Díaz",
- "Gómez",
- };
- string[] ranks = {
- "silver",
- "silver elite",
- "silver elite master",
- "gold nova",
- "master guardian",
- "distinguished master guardian",
- "legendary eagle",
- "supreme master first class",
- "global elite"
- };
- int soldiersAmountMinimum = 10;
- int soldiersAmountMaximum = 100;
- int amountSoldiers = _random.Next(soldiersAmountMinimum, soldiersAmountMaximum);
- string name;
- string surname;
- string rank;
- for (int i = 0; i < amountSoldiers; ++i)
- {
- name = names[_random.Next(names.Length)];
- surname = surnames[_random.Next(surnames.Length)];
- rank = ranks[_random.Next(ranks.Length)];
- soldiers.Add(new Soldier(name, surname, rank));
- }
- }
- }
- public class Soldier
- {
- public string Name { get; private set; }
- public string Surname { get; private set; }
- public string Rank { get; private set; }
- public Soldier(string name, string surname, string rank)
- {
- Name = name;
- Surname = surname;
- Rank = rank;
- }
- public override string ToString()
- {
- return String.Format($"{Name} {Surname} - {Rank}");
- }
- }
Add Comment
Please, Sign In to add comment