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 Home_Work
- {
- class Program
- {
- static void Main()
- {
- Database database = new Database();
- database.Work();
- }
- }
- class Database
- {
- private List<Player> _players;
- private int countTopPlayers;
- public Database()
- {
- _players = new List<Player>();
- Fill();
- countTopPlayers = 3;
- }
- public void Work()
- {
- bool isWorking = true;
- List<Player> players = _players;
- int number;
- while(isWorking == true)
- {
- Console.WriteLine("Игроки: ");
- ShowSelection(players);
- Console.WriteLine("\n1. Вывести топ по уровню.\n2. Вывести топ по силе.\n3. Вывести всех.\n4. Выход.");
- Console.Write("Введите команду: ");
- number = GetNumber();
- switch (number)
- {
- case 1:
- players = TakeTopByLevel();
- break;
- case 2:
- players = TakeTopByPower();
- break;
- case 3:
- players = _players;
- break;
- case 4:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Неверная команда.");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- private int GetNumber()
- {
- bool isConverted = false;
- int number = 0;
- string userInput;
- while (isConverted == false)
- {
- userInput = Console.ReadLine();
- isConverted = Int32.TryParse(userInput, out number);
- }
- return number;
- }
- private List<Player> TakeTopByLevel()
- {
- var sortedPlayers = _players.OrderByDescending(player => player.Level).Take(countTopPlayers).ToList();
- return sortedPlayers;
- }
- private List<Player> TakeTopByPower()
- {
- var sortedPlayers = _players.OrderByDescending(player => player.Power).Take(countTopPlayers).ToList();
- return sortedPlayers;
- }
- private void ShowSelection(List<Player> players)
- {
- foreach (Player player in players)
- {
- player.ShowInfo();
- }
- }
- private void Fill()
- {
- _players.Add(new Player("Черёмушко Алексей Алексеевич"));
- _players.Add(new Player("Чер Дмитрий Алексеевич"));
- _players.Add(new Player("Альанах Алексей Дмитриевич"));
- _players.Add(new Player("Вассерман Анатолий Акашанович"));
- _players.Add(new Player("Шерлок Ди Холмс"));
- _players.Add(new Player("Макуночи Но Ипо"));
- _players.Add(new Player("Грозный Иван Васильевич"));
- _players.Add(new Player("Борн Дмитрий Анатольевич"));
- _players.Add(new Player("Навальный Владимир Владиславович"));
- _players.Add(new Player("Евпатий Калодратий"));
- _players.Add(new Player("Никто"));
- _players.Add(new Player("Андерсон Джон Викторович"));
- _players.Add(new Player("Самураев Душнила Тёмович"));
- }
- }
- class Player
- {
- private static Random _random;
- private string _fullName;
- private int _power;
- private int _level;
- static Player()
- {
- _random = new Random();
- }
- public Player(string fullName)
- {
- int maxValue= 100;
- _fullName = fullName;
- _level = _random.Next(maxValue); ;
- _power = _random.Next(maxValue);
- }
- public int Power => _power;
- public int Level => _level;
- public void ShowInfo()
- {
- Console.WriteLine($"{_fullName}. Сила: {_power}. Уровень: {_level}.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement