Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- static void Main(string[] args)
- {
- const string AddPlayerCommand = "1";
- const string BanPlayerCommand = "2";
- const string UnbanPlayerCommand = "3";
- const string RemovePlayerCommand = "4";
- const string ShowTablePlayersCommand = "5";
- const string ExitCommand = "6";
- Database database = new Database();
- string userInput;
- bool isWorking = true;
- while (isWorking)
- {
- Console.WriteLine($"Выберите действие:\n{AddPlayerCommand})Добавить игрока.\n{BanPlayerCommand})Забанить игрока.\n{UnbanPlayerCommand})Разбанить игрока.\n{RemovePlayerCommand})Удалить игрока.\n{ShowTablePlayersCommand})Показать список игроков.\n{ExitCommand})Выход из программы.");
- userInput = Console.ReadLine();
- Console.Clear();
- switch (userInput)
- {
- case AddPlayerCommand:
- database.AddPlayer();
- break;
- case BanPlayerCommand:
- database.BanPlayer();
- break;
- case UnbanPlayerCommand:
- database.UnbanPlayer();
- break;
- case RemovePlayerCommand:
- database.DeletePlayer();
- break;
- case ShowTablePlayersCommand:
- database.ShowTablePlayers();
- break;
- case ExitCommand:
- isWorking = false;
- break;
- }
- }
- }
- }
- class Player
- {
- public Player(int number, string nickname, int lvl, bool isBanned)
- {
- Number = number;
- Nickname = nickname;
- Lvl = lvl;
- IsBanned = isBanned;
- }
- public int Number { get; private set; }
- public string Nickname { get; private set; }
- public int Lvl { get; private set; }
- public bool IsBanned { get; private set; }
- public void Ban()
- {
- IsBanned = true;
- }
- public void Unban()
- {
- IsBanned = false;
- }
- }
- class Database
- {
- private List<Player> _players = new List<Player>();
- private int _universalNumber = 1000;
- public void ShowTablePlayers()
- {
- for (int i = 0; i < _players.Count; i++)
- {
- if (_players[i].IsBanned == false)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine($"Уникальный номер:{_players[i].Number}|Никнейм:{_players[i].Nickname}|LVL:{_players[i].Lvl}");
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"Уникальный номер:{_players[i].Number}|Никнейм:{_players[i].Nickname}|LVL:{_players[i].Lvl}");
- }
- Console.ForegroundColor = ConsoleColor.White;
- }
- }
- public void DeletePlayer()
- {
- int userInput;
- Console.WriteLine("Игрока под каким уникальным номером вы хотите удалить?");
- if (TryGetPlayer(out Player player))
- {
- _players.RemoveAt(player.Number - 1000);
- }
- }
- public void BanPlayer()
- {
- Console.WriteLine("Игрока под каким уникальным номером вы хотите забанить?");
- if(TryGetPlayer(out Player player))
- {
- player.Ban();
- }
- Console.ReadKey();
- }
- private bool TryGetPlayer(out Player player)
- {
- ShowTablePlayers();
- Console.WriteLine("Введите id:");
- int userInput = ConvertToInt();
- foreach (Player item in _players)
- {
- if (item.Number == userInput)
- {
- player = item;
- return true;
- }
- }
- player = null;
- Console.WriteLine("Игрок по такому ID не найден.");
- return false;
- }
- public void UnbanPlayer()
- {
- Console.WriteLine("Игрока под каким уникальным номером вы хотите разбанить?");
- if (TryGetPlayer(out Player player))
- {
- player.Unban();
- }
- Console.ReadKey();
- }
- public void AddPlayer()
- {
- string userInputName;
- int userInputLvl;
- Console.WriteLine("Введите ник игрока и его LVL");
- userInputName = Console.ReadLine();
- userInputLvl = ConvertToInt();
- _players.Add(new Player(_universalNumber, userInputName, userInputLvl, false));
- _universalNumber++;
- }
- static int ConvertToInt()
- {
- int templateNumber;
- string userInput = string.Empty;
- while (int.TryParse(userInput, out templateNumber) == false)
- {
- Console.WriteLine("Введите любое число:");
- userInput = Console.ReadLine();
- }
- return templateNumber;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement