Skip to content

Instantly share code, notes, and snippets.

@ShamilAitov
Last active August 9, 2023 22:46
Show Gist options
  • Save ShamilAitov/f870f77b3e4229286a5710e49b4a83fc to your computer and use it in GitHub Desktop.
Save ShamilAitov/f870f77b3e4229286a5710e49b4a83fc to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
namespace LINQ4Задание
{
internal class Program
{
static void Main(string[] args)
{
Statistics statistics = new Statistics();
statistics.Play();
}
}
class Statistics
{
private List<Player> _players = new List<Player>();
public Statistics()
{
FillPlayers();
}
public void Play()
{
int numberElements = 3;
var topLevel = _players.OrderByDescending(Player => Player.Level).Take(numberElements).ToList();
var topPower = _players.OrderByDescending(Player => Player.Power).Take(numberElements).ToList();
Console.WriteLine($"Топ {numberElements} игроков по уровню:");
ShowPlayers(topLevel);
Console.WriteLine($"Топ {numberElements} игроков по силе:");
ShowPlayers(topPower);
}
private void FillPlayers()
{
_players.Add(new Player("Атталь Аберфорт", 7, 20));
_players.Add(new Player("Гарибальди Адриан", 8, 21));
_players.Add(new Player("Макрон Арчибальд", 9, 22));
_players.Add(new Player("Бардо Бруно", 10, 23));
_players.Add(new Player("Валери Генри", 6, 24));
_players.Add(new Player("Герарди Киллиан", 10, 26));
_players.Add(new Player("Герарди Генри", 17, 27));
_players.Add(new Player("Бардо Киллиан", 17, 28));
_players.Add(new Player("Макрон Адриан", 16, 29));
_players.Add(new Player("Атталь Бруно", 18, 30));
}
private void ShowPlayers(List<Player> players)
{
if (players.Any())
{
foreach (var player in players)
{
player.ShowInfo();
}
Console.WriteLine();
}
else
{
Console.WriteLine("Список пуст!");
}
}
}
class Player
{
public Player(string name, int level, int power)
{
Name = name;
Level = level;
Power = power;
}
public string Name { get; private set; }
public int Level { get; private set; }
public int Power { get; private set; }
public void ShowInfo()
{
Console.WriteLine($"{Name}: Уровень - {Level}, Сила - {Power}");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment