Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OOPTask3DBPlayers
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- PlayersDataBase playersDataBase = new PlayersDataBase();
- playersDataBase.Work();
- }
- }
- class PlayersDataBase
- {
- private const string CommandShowAllPlayers = "all";
- private const string CommandAddPlayer = "add";
- private const string CommandBanPlayer = "ban";
- private const string CommandUnbanPlayer = "unban";
- private const string CommandDeletePlayer = "delete";
- private const string CommandExit = "exit";
- private const string CommandYes = "yes";
- private const string CommandNo = "no";
- private Dictionary <int, Player> players = new Dictionary<int, Player> ();
- public void Work()
- {
- bool isWorking = true;
- string userCommand;
- while (isWorking)
- {
- Console.WriteLine($"Сейчас в базе {players.Count} игроков.\n");
- Console.WriteLine("Что вы хотите?");
- Console.WriteLine($"{CommandShowAllPlayers} - показать всех игроков");
- Console.WriteLine($"{CommandAddPlayer} - добавить нового игрока");
- Console.WriteLine($"{CommandBanPlayer} - забанить игрока");
- Console.WriteLine($"{CommandUnbanPlayer} - разбанить игрока");
- Console.WriteLine($"{CommandDeletePlayer} - удалить игрока");
- Console.WriteLine($"{CommandExit} - выход из базы данных");
- Console.Write("\nВведите команду: ");
- userCommand = Console.ReadLine ();
- switch (userCommand)
- {
- case CommandShowAllPlayers:
- ShowAllPlayers();
- break;
- case CommandAddPlayer:
- AddPlayer();
- break;
- case CommandBanPlayer:
- BanPlayer();
- break;
- case CommandUnbanPlayer:
- UnbanPlayer();
- break;
- case CommandDeletePlayer:
- DeletePlayer();
- break;
- case CommandExit:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Неизвестная команда.");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- private void ShowAllPlayers()
- {
- foreach (int playerID in players.Keys)
- {
- Console.Write(playerID +" - ");
- players[playerID].ShowInfo();
- }
- }
- private void AddPlayer()
- {
- Console.Write("Введите уникальный номер игрока: ");
- int playerID = ReadInt();
- if (players.ContainsKey(playerID))
- {
- Console.WriteLine("Игрок с таким номером уже существует.");
- return;
- }
- Console.WriteLine("Введите ник игрока: ");
- string playerName = Console.ReadLine();
- Console.WriteLine("Введите уровень игрока: ");
- int playerLevel = ReadInt();
- players.Add(playerID, new Player(playerName, playerLevel));
- Console.WriteLine("Игрок успешно добавлен.");
- }
- private void BanPlayer()
- {
- ShowAllPlayers();
- Console.Write("Введите ID игрока, которого хотите забанить: ");
- int playerID = ReadInt();
- if (players.ContainsKey(playerID))
- players[playerID].Ban();
- else
- Console.WriteLine("Игрока с таким ID не существует.");
- }
- private void UnbanPlayer()
- {
- ShowAllPlayers();
- Console.Write("Введите ID игрока, которого хотите разбанить: ");
- int playerID = ReadInt();
- if (players.ContainsKey(playerID))
- players[playerID].Unban();
- else
- Console.WriteLine("Игрока с таким ID не существует.");
- }
- private void DeletePlayer()
- {
- ShowAllPlayers();
- Console.Write("Введите ID игрока, которого хотите удалить: ");
- int playerID = ReadInt();
- if (players.ContainsKey(playerID))
- {
- players.Remove(playerID);
- Console.WriteLine("Игрок успешно удален.");
- }
- else
- {
- Console.WriteLine("Игрока с таким ID не существует.");
- }
- }
- private int ReadInt()
- {
- int inputNumber;
- while (int.TryParse(Console.ReadLine(), out inputNumber) == false)
- {
- Console.Write("Это не число, попробуйте еще раз: ");
- }
- return inputNumber;
- }
- }
- class Player
- {
- private string _name;
- private int _level;
- private bool _isBanned;
- public Player(string name, int level)
- {
- _name = name;
- _level = level;
- _isBanned = false;
- }
- public void ShowInfo()
- {
- Console.Write($"игрок с ником \"{_name}\" имеет уровень {_level} и ");
- if (_isBanned)
- Console.WriteLine("забанен на сервере.");
- else
- Console.WriteLine("может спокойно играть.");
- }
- public void Ban()
- {
- _isBanned = true;
- Console.Write($"игрок с ником \"{_name}\" забанен.");
- }
- public void Unban()
- {
- _isBanned = false;
- Console.Write($"игрок с ником \"{_name}\" разбанен.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement