Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace CSLight
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- PersonBase person = new PersonBase();
- person.ShowSoldiersInfo();
- }
- }
- class PersonBase
- {
- private List<Person> _soldiers;
- public PersonBase()
- {
- GenerateSoldiers();
- }
- public void ShowSoldiersInfo()
- {
- var filteredList = _soldiers.Select(soldier => new { Name = soldier.Name, Term = soldier.Term });
- foreach (var soldier in filteredList)
- {
- Console.WriteLine($"{soldier.Name} - {soldier.Term} ");
- }
- Console.ReadKey();
- }
- private void GenerateSoldiers()
- {
- PersonCreator creator = new PersonCreator();
- int dataBaseCapacity = 20;
- _soldiers = new List<Person>();
- for (int i = 0; i < dataBaseCapacity; i++)
- {
- _soldiers.Add(creator.CreatePerson());
- }
- }
- }
- class PersonCreator
- {
- private List<string> _names;
- private List<string> _surnames;
- private List<string> _weapons;
- private List<string> _ranks;
- public PersonCreator()
- {
- InitNames();
- InitSurnames();
- InitRanks();
- InitWeapons();
- }
- public Person CreatePerson()
- {
- int maxTerm = 50;
- string name = GetRandomValue(_names);
- string surname = GetRandomValue(_surnames);
- string weapon = GetRandomValue(_weapons);
- string rank = GetRandomValue(_ranks);
- int term = UserUtils.GenerateRandomValue(maxTerm);
- return new Person(name, surname, weapon, rank, term);
- }
- private void InitSurnames()
- {
- _surnames = new List<string>();
- _surnames.Add("Смирнов");
- _surnames.Add("Иванов");
- _surnames.Add("Кузнецов");
- _surnames.Add("Попов");
- _surnames.Add("Соколов");
- _surnames.Add("Лебедев");
- _surnames.Add("Козлов");
- _surnames.Add("Новиков");
- _surnames.Add("Морозов");
- _surnames.Add("Козлов");
- _surnames.Add("Волков");
- }
- private void InitRanks()
- {
- _ranks = new List<string>();
- _ranks.Add("Новобранец");
- _ranks.Add("Рядовой");
- _ranks.Add("Сержант");
- _ranks.Add("Генерал");
- }
- private void InitNames()
- {
- _names = new List<string>();
- _names.Add("Максим");
- _names.Add("Михаил");
- _names.Add("Александр");
- _names.Add("Дмитрий");
- _names.Add("Денис");
- _names.Add("Илья");
- _names.Add("Андрей");
- _names.Add("Артем");
- _names.Add("Иван");
- _names.Add("Алексей");
- _names.Add("Никита");
- }
- private void InitWeapons()
- {
- _weapons = new List<string>();
- _weapons.Add("Пистолет");
- _weapons.Add("Автомат");
- _weapons.Add("Пулемет");
- _weapons.Add("Гранатомет");
- }
- private string GetRandomValue(List<string> values)
- {
- int randomId = UserUtils.GenerateRandomValue(values.Count);
- return values[randomId];
- }
- private bool SetStatus()
- {
- int chance = 50;
- int maxChance = 100;
- return UserUtils.GenerateRandomValue(maxChance) > chance;
- }
- }
- class Person
- {
- public Person(string name, string surname, string weapon, string rank, int term)
- {
- Name = name;
- Weapon = weapon;
- Rank = rank;
- Term = term;
- }
- public string Name { get; private set; }
- public string Surname { get; private set; }
- public string Weapon { get; private set; }
- public string Rank { get; private set; }
- public int Term { get; private set; }
- }
- static class UserUtils
- {
- private static Random s_random = new Random();
- public static int GenerateRandomValue(int maxValue)
- {
- return s_random.Next(maxValue);
- }
- public static int GenerateRandomValue(int minValue, int maxValue)
- {
- return s_random.Next(minValue, maxValue);
- }
- public static double GenerateRandomDouble()
- {
- return s_random.NextDouble();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement