Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal class Program
- {
- static void Main(string[] args)
- {
- const int ShowAllPlayersCommand = 1;
- const int AddPlayerCommand = 2;
- const int DeleatePlayerCommand = 3;
- const int BanPlayerCommand = 4;
- const int UnbanPlayerCommand = 5;
- const int ExitCommand = 6;
- Database playerDatabase = new Database();
- bool isWorking = true;
- while (isWorking)
- {
- Console.Clear();
- Console.WriteLine($"{ShowAllPlayersCommand} - Вывести базу данных игроков\n{AddPlayerCommand} - Добавить нового игрока" +
- $"\n{DeleatePlayerCommand} - Удалить игрока по уникальному id\n{BanPlayerCommand} - Забанить игрока\n{UnbanPlayerCommand} - Разбанить игрока\n{ExitCommand} - Выйти");
- Console.Write("\nВведите номер комманды: ");
- int.TryParse(Console.ReadLine(), out int input);
- switch (input)
- {
- case ShowAllPlayersCommand:
- playerDatabase.ShowAllPlayers();
- break;
- case AddPlayerCommand:
- playerDatabase.AddPlayer();
- break;
- case DeleatePlayerCommand:
- playerDatabase.DeleatePlayer();
- break;
- case BanPlayerCommand:
- playerDatabase.BanPlayer();
- break;
- case UnbanPlayerCommand:
- playerDatabase.UnbanPlayer();
- break;
- case ExitCommand:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Такой комманды не существует!");
- break;
- }
- Console.ReadKey();
- }
- }
- }
- class Player
- {
- private string _name;
- private int _level;
- private bool _isBanned;
- public Player(int id, string name, int level, bool isBanned)
- {
- Id = id;
- _name = name;
- _level = level;
- _isBanned = isBanned;
- }
- public int Id { get; private set; }
- public void ShowInfo()
- {
- Console.Write($"{Id}| Имя игрока: {_name} - уровень {_level}");
- if (_isBanned)
- Console.WriteLine(" - Игрок забанен");
- else
- Console.WriteLine(" - Игрок не забанен");
- }
- public void Ban()
- {
- _isBanned = true;
- }
- public void Unban()
- {
- _isBanned = false;
- }
- }
- class Database
- {
- private int _playerId;
- private Dictionary<int, Player> _players = new Dictionary<int, Player>();
- public Database()
- {
- _playerId = 1;
- }
- public void AddPlayer()
- {
- Console.Write("\nВведите имя игрока: ");
- string name = Console.ReadLine();
- Console.Write("Введите уровень персонажа игрока: ");
- int.TryParse(Console.ReadLine(), out int level);
- _players.Add(_playerId, new Player(_playerId, name, level, false));
- _playerId++;
- Console.WriteLine("Игрок добавлен!");
- }
- public void ShowAllPlayers()
- {
- Console.Clear();
- if (_players.Count >= 1)
- {
- foreach (Player player in _players.Values)
- {
- player.ShowInfo();
- }
- }
- else
- {
- Console.WriteLine("В базе данных нет игроков!");
- }
- }
- public void DeleatePlayer()
- {
- if (TryGetPlayer(out Player player))
- {
- _players.Remove(player.Id);
- Console.WriteLine("Игрок удалён!");
- }
- else
- {
- Console.WriteLine("Ошибка ввода или игрока с данным id номером нет в базе");
- }
- }
- public void BanPlayer()
- {
- if (TryGetPlayer(out Player player))
- {
- Console.WriteLine("Игрок забанен!");
- player.Ban();
- }
- else
- {
- Console.WriteLine("Ошибка ввода или игрока c данным id номером не существует!");
- }
- }
- public void UnbanPlayer()
- {
- if (TryGetPlayer(out Player player))
- {
- player.Unban();
- Console.WriteLine("Игрок разабанен!");
- }
- else
- {
- Console.WriteLine("Ошибка ввода или игрока с данным id номером нет в базе");
- }
- }
- private bool TryGetPlayer(out Player player)
- {
- player = null;
- Console.Write("\nВведите id номер игрока: ");
- bool isIdCorrect = int.TryParse(Console.ReadLine(), out int idIndex);
- if (isIdCorrect & _players.ContainsKey(idIndex))
- {
- player = _players[idIndex];
- return true;
- }
- else
- {
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement