Askor

Hw42

Dec 20th, 2021 (edited)
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.09 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 TopPlayers
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             TopPlayers topPlayers = new TopPlayers();
  14.             topPlayers.ShowTopPlayers();
  15.         }
  16.     }
  17.  
  18.     class TopPlayers
  19.     {
  20.         private List<Player> _players = new List<Player>();
  21.         private const int _countOfTopPlayerss = 3;
  22.  
  23.         public TopPlayers()
  24.         {
  25.             Fill();
  26.         }
  27.  
  28.         public void ShowTopPlayers()
  29.         {
  30.             Console.WriteLine("List of Players:");
  31.             ShowInfo(_players);
  32.  
  33.             Console.WriteLine($"\nTop {_countOfTopPlayerss} by lvl:");
  34.             ShowInfo(SortTopByLvl());
  35.  
  36.             Console.WriteLine($"\nTop {_countOfTopPlayerss} by Power:");
  37.             ShowInfo(SortTopByPower());
  38.  
  39.             Console.ReadKey();
  40.         }
  41.  
  42.         private List<Player> SortTopByPower()
  43.         {
  44.             var topByPower = _players.OrderByDescending(player => player.Power).Take(_countOfTopPlayerss);
  45.  
  46.             return topByPower.ToList<Player>();
  47.         }
  48.  
  49.         private List<Player> SortTopByLvl()
  50.         {
  51.             var topByLvl = _players.OrderByDescending(player => player.Lvl).Take(_countOfTopPlayerss);
  52.  
  53.             return topByLvl.ToList<Player>();
  54.         }
  55.  
  56.         private void ShowInfo(List<Player> players)
  57.         {
  58.             if (players != null)
  59.             {
  60.                 foreach (var player in players)
  61.                 {
  62.                     player.ShowInfo();
  63.                 }
  64.             }
  65.         }
  66.  
  67.         private void Fill()
  68.         {
  69.             Random random = new Random();
  70.  
  71.             _players.Add(new Player("Almi", random.Next(1, 50), random.Next(20, 100)));
  72.             _players.Add(new Player("Kis", random.Next(1, 50), random.Next(20, 100)));
  73.             _players.Add(new Player("Northon", random.Next(1, 50), random.Next(20, 100)));
  74.             _players.Add(new Player("Adam", random.Next(1, 50), random.Next(20, 100)));
  75.             _players.Add(new Player("Lox", random.Next(1, 50), random.Next(20, 100)));
  76.             _players.Add(new Player("Fox", random.Next(1, 50), random.Next(20, 100)));
  77.             _players.Add(new Player("Norx", random.Next(1, 50), random.Next(20, 100)));
  78.             _players.Add(new Player("Moksi", random.Next(1, 50), random.Next(20, 100)));
  79.             _players.Add(new Player("Dabla", random.Next(1, 50), random.Next(20, 100)));
  80.             _players.Add(new Player("Pudge", random.Next(1, 50), random.Next(20, 100)));
  81.         }
  82.     }
  83.  
  84.     class Player
  85.     {
  86.         public string Name { get; private set; }
  87.         public int Lvl { get; private set; }
  88.         public int Power { get; private set; }
  89.  
  90.         public Player(string name, int lvl, int power)
  91.         {
  92.             Name = name;
  93.             Lvl = lvl;
  94.             Power = power;
  95.         }
  96.  
  97.         public void ShowInfo()
  98.         {
  99.             Console.WriteLine($"Name - {Name}, Lvl - {Lvl}, Power - {Power}");
  100.         }
  101.     }
  102. }
  103.  
Add Comment
Please, Sign In to add comment