Advertisement
IGRODELOFF

Task54

Sep 3rd, 2022
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.31 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 Task54._2
  8. {
  9.     internal class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Database database = new Database();
  14.             database.Work();
  15.         }
  16.     }
  17.    
  18.     class Database
  19.     {
  20.         private List<Player> _players;
  21.         private int _maxCountTopPlayers;
  22.  
  23.         public Database()
  24.         {
  25.             _players = new List<Player>();
  26.             _maxCountTopPlayers = 3;
  27.             _players.Add(new Player("Doctor", 18, 826));
  28.             _players.Add(new Player("xFaZe", 58, 252));
  29.             _players.Add(new Player("Teнь", 75, 824));
  30.             _players.Add(new Player("Безумный_автобус", 50, 740));
  31.             _players.Add(new Player("Magic", 93, 172));
  32.             _players.Add(new Player("G.R.I.Z.Z.L.I", 44, 293));
  33.             _players.Add(new Player("Летучий Олень", 15, 326));
  34.             _players.Add(new Player("Aim41K", 88, 509));
  35.             _players.Add(new Player("D_O_M_I_N_A_T_O_R", 35, 541));
  36.             _players.Add(new Player("Mr. Zadrot", 12, 539));
  37.             _players.Add(new Player("IceStorm", 24, 967));
  38.         }
  39.  
  40.         public void Work()
  41.         {
  42.             string listPlayers =
  43.                 "Список всех игроков: ";
  44.             string listTopLevelPlayers =
  45.                 "Список топ игроков по уровню: ";
  46.             string listTopPowerPlayers =
  47.                 "Список топ игроков по силе: ";
  48.  
  49.             Console.WriteLine(listPlayers);
  50.             Show(_players);
  51.             Console.WriteLine();
  52.  
  53.             Console.WriteLine(listTopLevelPlayers);
  54.             ShowTopPlayerLevel();
  55.             Console.WriteLine();
  56.  
  57.             Console.WriteLine(listTopPowerPlayers);
  58.             ShowTopPlayerPower();
  59.             Console.WriteLine();
  60.         }
  61.  
  62.         private void ShowTopPlayerLevel()
  63.         {
  64.             List<Player> topPlayer = new List<Player>();
  65.  
  66.             topPlayer = _players.OrderByDescending(player => player.Level).Take(_maxCountTopPlayers).ToList();
  67.             Show(topPlayer);
  68.         }
  69.  
  70.         private void ShowTopPlayerPower()
  71.         {
  72.             List<Player> topPlayer = new List<Player>();
  73.  
  74.             topPlayer = _players.OrderByDescending(player => player.Power).Take(_maxCountTopPlayers).ToList();
  75.             Show(topPlayer);
  76.         }
  77.  
  78.         private void Show(List<Player> players)
  79.         {
  80.             foreach (var player in players)
  81.             {
  82.                 player.Show();
  83.             }
  84.         }
  85.     }
  86.  
  87.     class Player
  88.     {
  89.         public string Nickname { get; private set; }
  90.         public int Level { get; private set; }
  91.         public int Power { get; private set; }
  92.  
  93.         public Player(string nickname, int level, int power)
  94.         {
  95.             Nickname = nickname;
  96.             Level = level;
  97.             Power = power;
  98.         }
  99.  
  100.         public void Show()
  101.         {
  102.             Console.WriteLine(
  103.                 $"Карточка игрока:\n" +
  104.                 $"Никнейм : {Nickname}\n" +
  105.                 $"Уровень : {Level}\n" +
  106.                 $"Сила    : {Power}\n");
  107.         }
  108.     }
  109. }
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement