Advertisement
Rodunskiy

Untitled

Aug 18th, 2023
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.52 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. class Program
  6. {
  7.     static void Main(string[] args)
  8.     {
  9.         TopBoard topBoard = new TopBoard();
  10.  
  11.         topBoard.Work();
  12.     }
  13. }
  14.  
  15. class TopBoard
  16. {
  17.     private List<Player> _players;
  18.  
  19.     public TopBoard()
  20.     {
  21.         _players = new List<Player>();
  22.  
  23.         AddPlayers();
  24.     }
  25.  
  26.     private void AddPlayers()
  27.     {
  28.         _players.Add(new Player("Malixu", 10, 181));
  29.         _players.Add(new Player("Carona", 18, 178));
  30.         _players.Add(new Player("Megren", 19, 192));
  31.         _players.Add(new Player("Xintal", 20, 146));
  32.         _players.Add(new Player("Geredo", 16, 100));
  33.         _players.Add(new Player("Ivadai", 22, 157));
  34.         _players.Add(new Player("Stehax", 24, 160));
  35.         _players.Add(new Player("Ichawi", 21, 170));
  36.         _players.Add(new Player("Unenth", 15, 150));
  37.         _players.Add(new Player("Eaetan", 18, 110));
  38.     }
  39.  
  40.     public void Work()
  41.     {
  42.         GiveTopPlayersByLvl();
  43.         Console.SetCursorPosition(0, 15);
  44.         GiveTopPlayersByPower();
  45.     }
  46.  
  47.     private void GiveTopPlayersByLvl()
  48.     {
  49.         List<Player> topPlayers = new List<Player>();
  50.  
  51.         _players = _players.OrderBy(player => player.Lvl).ToList();
  52.  
  53.         _players = AddPlayersInTopBoard();
  54.  
  55.         ShowTop("Топ 3 игрока по Lvl.", _players);
  56.     }
  57.  
  58.     private void GiveTopPlayersByPower()
  59.     {
  60.         _players = _players.OrderBy(player => player.Power).ToList();
  61.  
  62.         _players = AddPlayersInTopBoard();
  63.  
  64.         ShowTop("Топ 3 игрока по Power.", _players);
  65.     }
  66.  
  67.     private List<Player> AddPlayersInTopBoard()
  68.     {
  69.         List<Player> topPlayers = new List<Player>();
  70.  
  71.         for (int i = 0; i < 3; i++)
  72.         {
  73.             Player topPlayer = _players.Last();
  74.             _players.Remove(topPlayer);
  75.             topPlayers.Add(topPlayer);
  76.         }
  77.  
  78.         return topPlayers;
  79.     }
  80.  
  81.     private void ShowTop(string text, List<Player> players)
  82.     {
  83.         Console.WriteLine(text);
  84.  
  85.         foreach (var player in players)
  86.         {
  87.             Console.WriteLine($"|Игрок:{player.Nickname}|Lvl:{player.Lvl}|Сила:{player.Power}|");
  88.         }
  89.     }
  90. }
  91.  
  92. class Player
  93. {
  94.     public Player(string nickname, int lvl, int power)
  95.     {
  96.         Nickname = nickname;
  97.         Lvl = lvl;
  98.         Power = power;
  99.     }
  100.  
  101.     public string Nickname { get; private set; }
  102.     public int Lvl { get; private set; }
  103.     public int Power { get; private set; }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement