Advertisement
Vlad_Savitskiy

Players

Jun 30th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.11 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace CSLightFirst
  6. {
  7.     class Program
  8.     {
  9.         private static void Main()
  10.         {
  11.             List<Player> players = GeneratePlayers();
  12.  
  13.             while (true)
  14.             {
  15.                 Console.WriteLine("Выберите, что Вам нужно сделать:\n" +
  16.                                   "  1 - Определить топ-3 игроков по уровню\n" +
  17.                                   "  2 - Определить топ-3 игроков по силе\n" +
  18.                                   "  3 - Показать всех игроков");
  19.                 Console.Write("Ваш ответ: ");
  20.  
  21.                 switch (Console.ReadLine())
  22.                 {
  23.                     case "1":
  24.                         MakeLevelSelection(players);
  25.                         break;
  26.                     case "2":
  27.                         MakePowerSelection(players);
  28.                         break;
  29.                     case "3":
  30.                         ShowSelection(players);
  31.                         break;
  32.                     default:
  33.                         Console.WriteLine("Некорректное введенное значение, попробуйте ещё раз...");
  34.                         break;
  35.                 }
  36.             }
  37.         }
  38.  
  39.         private static void MakeLevelSelection(IEnumerable<Player> players)
  40.         {
  41.             ShowSelection(players
  42.                 .OrderByDescending(player => player.Level)
  43.                 .Take(3));
  44.         }
  45.  
  46.         private static void MakePowerSelection(IEnumerable<Player> players)
  47.         {
  48.             ShowSelection(players
  49.                 .OrderByDescending(player => player.Power)
  50.                 .Take(3));
  51.         }
  52.  
  53.         private static void ShowSelection(IEnumerable<Player> selection)
  54.         {
  55.             Console.Clear();
  56.             Console.WriteLine();
  57.  
  58.             foreach (Player player in selection)
  59.                 player.ShowInfo();
  60.         }
  61.  
  62.         private static List<Player> GeneratePlayers()
  63.         {
  64.             Random rand = new Random();
  65.  
  66.             string[] names = { "Джон", "Хью", "Энн", "Джек", "Уил", "Марк", "Лиз", "Майкл", "Дэвис" };
  67.  
  68.             List<Player> players = new List<Player>(rand.Next(10, 16));
  69.  
  70.             for (int i = 0; i < players.Capacity; i++)
  71.                 players.Add(new Player(names[rand.Next(0, names.Length)], rand.Next(0, 51), rand.Next(0, 200)));
  72.  
  73.             return players;
  74.         }
  75.     }
  76.  
  77.     class Player
  78.     {
  79.         public string Name { get; }
  80.         public int Level { get; }
  81.         public int Power { get; }
  82.  
  83.         public Player(string name, int level, int power)
  84.         {
  85.             Name = name;
  86.             Level = level;
  87.             Power = power;
  88.         }
  89.  
  90.         public void ShowInfo()
  91.         {
  92.             Console.WriteLine($"  Игрок: {Name}\n" +
  93.                               $"  Уровень: {Level}\n" +
  94.                               $"  Сила: {Power}\n");
  95.         }
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement