Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Homweork40
- {
- class Program
- {
- static void Main(string[] args)
- {
- const string CommandUseShowAllPlayers = "1";
- const string CommandUseAddPlayer = "2";
- const string CommandUseBanPlayer = "3";
- const string CommandUseUnbanPlayer = "4";
- const string CommandUseRemovePlayer = "5";
- const string CommandUseExit = "6";
- bool isWorking = true;
- Database database = new Database();
- while (isWorking)
- {
- Console.WriteLine($"{CommandUseShowAllPlayers} - Показать список всех игроков\n{CommandUseAddPlayer} - Добавить нового игрока\n{CommandUseBanPlayer} - Забанить игрока по номеру\n{CommandUseUnbanPlayer} - Рзабанить игрока по номеру\n{CommandUseRemovePlayer} - Удалить игрока из базы данных\n{CommandUseExit} - Выйти из программы");
- Console.Write("\n\nВведите нужную операцию: ");
- string userInput = Console.ReadLine();
- Console.Clear();
- switch (userInput)
- {
- case CommandUseShowAllPlayers:
- database.ShowAllPlayers();
- break;
- case CommandUseAddPlayer:
- AddPlayer(database);
- break;
- case CommandUseBanPlayer:
- BanPlayer(database);
- break;
- case CommandUseUnbanPlayer:
- UnbanPlayer(database);
- break;
- case CommandUseRemovePlayer:
- RemovePlayer(database);
- break;
- case CommandUseExit:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Такой операции нет.");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- static uint GetUserNumber()
- {
- uint userNumber;
- while (!uint.TryParse(Console.ReadLine(), out userNumber))
- {
- Console.Write("Неверный формат введенных данных. Введите целое число: ");
- }
- return userNumber;
- }
- static void AddPlayer(Database database)
- {
- Console.Write("Введите уникальный номер игрока: ");
- uint userNumber = GetUserNumber();
- Console.Write("\nВведите ник игрока: ");
- string userName = Console.ReadLine();
- database.AddPlayer(userNumber, userName);
- }
- static void BanPlayer(Database database)
- {
- Console.Write("Введите уникальный номер игрока, чтобы его забанить: ");
- uint userNumber = GetUserNumber();
- database.BanPlayer(userNumber);
- }
- static void UnbanPlayer(Database database)
- {
- Console.Write("Введите уникальный номер игрока, чтобы его разбанить: ");
- uint userNumber = GetUserNumber();
- database.UnbanPlayer(userNumber);
- }
- static void RemovePlayer(Database database)
- {
- Console.Write("Введите уникальный номер игрока, чтобы удалить его из базы данных: ");
- uint userNumber = GetUserNumber();
- database.RemovePlayer(userNumber);
- }
- }
- class Database
- {
- private Dictionary<uint, Player> _players = new Dictionary<uint, Player>();
- public void AddPlayer(uint uniqueId, string nickname)
- {
- if (_players.ContainsKey(uniqueId) == true)
- {
- Console.WriteLine("\nИгрок с таким номером уже существует.");
- }
- else
- {
- _players.Add(uniqueId, new Player(uniqueId, nickname));
- Console.WriteLine("\n\nНовый игрок успешно добавлен в базу данных!");
- }
- }
- public void BanPlayer(uint uniqueId)
- {
- if (_players.ContainsKey(uniqueId) == true)
- {
- if (_players[uniqueId].IsBanned == false)
- {
- _players[uniqueId].Ban();
- Console.WriteLine($"\nИгрок с номером {_players[uniqueId].UniqueId} забанен.");
- }
- else
- {
- Console.WriteLine("\nВыбранный Вами игрок уже забанен.");
- }
- }
- else
- {
- Console.WriteLine("\nИгрока с таким номером нет.");
- }
- }
- public void UnbanPlayer(uint uniqueId)
- {
- if (_players.ContainsKey(uniqueId) == true)
- {
- if (_players[uniqueId].IsBanned == true)
- {
- _players[uniqueId].UnBan();
- Console.WriteLine($"\nИгрок с номером {_players[uniqueId].UniqueId} успешно разбанен!");
- }
- else
- {
- Console.WriteLine("\nВыбранный Вами игрок не забанен.");
- }
- }
- else
- {
- Console.WriteLine("\nИгрока с таким номером нет.");
- }
- }
- public void RemovePlayer(uint uniqueId)
- {
- if (_players.ContainsKey(uniqueId) == true)
- {
- Console.WriteLine($"\nИгрок с номером {_players[uniqueId].UniqueId} был удален из базы данных.");
- _players.Remove(uniqueId);
- }
- else
- {
- Console.WriteLine("\nИгрока с таким номером нет.");
- }
- }
- public void ShowAllPlayers()
- {
- foreach (var player in _players.Values)
- {
- player.ShowInfo();
- }
- }
- }
- class Player
- {
- public Player(uint uniqueId, string nickname)
- {
- UniqueId = uniqueId;
- Nickname = nickname;
- Level = 0;
- IsBanned = false;
- }
- public uint UniqueId { get; private set; }
- public string Nickname { get; private set; }
- public int Level { get; private set; }
- public bool IsBanned { get; private set; }
- public void ShowInfo()
- {
- Console.WriteLine($"Уникальный номер: {UniqueId}, Никнейм: {Nickname}, Уровень: {Level}, Игрок забанен: {IsBanned}");
- }
- public void Ban()
- {
- IsBanned = true;
- }
- public void UnBan()
- {
- IsBanned = false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement