Advertisement
_KAGATUN_

Untitled

May 6th, 2024
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.32 KB | None | 0 0
  1. //У нас есть список всех игроков(минимум 10).
  2. //У каждого игрока есть поля: имя, уровень, сила.
  3. //Требуется написать запрос для определения топ 3 игроков по уровню и топ 3 игроков по силе, после чего вывести каждый топ.
  4. //2 запроса получится.
  5.  
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9.  
  10. namespace TopServerPlayers
  11. {
  12.     public static class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             List<Player> players = new List<Player>
  17.             {
  18.                 new Player ("Меткая Мазила", 50, 25),
  19.                 new Player ("Ведро с крабами", 35, 35),
  20.                 new Player ("А я думала сова", 45, 105),
  21.                 new Player ("Али Ибн Назад Вперед Фолл", 29, 80),
  22.                 new Player ("Я есть Грут",44, 100),
  23.                 new Player ("Антистрайк", 30, 80),
  24.                 new Player ("Я Пофиг Мне Камень", 32, 79),
  25.                 new Player ("Хелп Ми Нига", 57, 98),
  26.                 new Player ("Не поминать Лохом", 53, 95),
  27.                 new Player ("Я за Клинским", 34, 60),
  28.                 new Player ("Ща Ультану", 25, 45),
  29.                 new Player ("Чих Ехидны", 36, 69),
  30.                 new Player ("Дратути", 70, 250),
  31.             };
  32.  
  33.             Information information = new Information(players);
  34.  
  35.             int countTop = 3;
  36.  
  37.             Console.WriteLine($"Показать топ {countTop} игроков по уровню\n");
  38.             information.ShowTopPlayersByLevel(countTop);
  39.  
  40.             Console.WriteLine($"\nПоказать топ {countTop} игроков по силе\n");
  41.             information.ShowTopPlayersByPower(countTop);
  42.         }
  43.     }
  44.  
  45.     class Player
  46.     {
  47.         public Player(string login, int level, int power)
  48.         {
  49.             Login = login;
  50.             Level = level;
  51.             Power = power;
  52.         }
  53.  
  54.         public string Login { get; private set; }
  55.         public int Level { get; private set; }
  56.         public int Power { get; private set; }
  57.  
  58.         public void ShowInfo()
  59.         {
  60.             Console.WriteLine($"Ник: {Login}, Уровень: {Level}, Сила: {Power}");
  61.         }
  62.     }
  63.  
  64.     class Information
  65.     {
  66.         private List<Player> _player;
  67.  
  68.         public Information(List<Player> player)
  69.         {
  70.             _player = player;
  71.         }
  72.  
  73.         public void ShowTopPlayersByLevel(int countTop)
  74.         {
  75.             var sortedsortedPlayers = _player.OrderByDescending(player => player.Level).Take(countTop);
  76.  
  77.             ShowPlayers(sortedsortedPlayers);
  78.         }
  79.  
  80.         public void ShowTopPlayersByPower(int countTop)
  81.         {
  82.             var sortedsortedPlayers = _player.OrderByDescending(player => player.Power).Take(countTop);
  83.  
  84.             ShowPlayers(sortedsortedPlayers);
  85.         }
  86.  
  87.         private void ShowPlayers(IEnumerable<Player> sortedPlayers)
  88.         {
  89.             foreach (var player in sortedPlayers)
  90.             {
  91.                 player.ShowInfo();
  92.             }
  93.         }
  94.     }
  95. }
  96.  
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement