Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Reflection.Emit;
- internal class Program
- {
- static void Main(string[] args)
- {
- Database playerDdatabase = new Database();
- playerDdatabase.WorkWithProgramm();
- }
- }
- class Player
- {
- 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 int Level { get; private set; }
- public string Name { get; private set; }
- public bool IsBanned { get; private set; }
- public void Block()
- {
- IsBanned = true;
- }
- public void Unblock()
- {
- IsBanned = false;
- }
- }
- class Database
- {
- private List<Player> _players = new List<Player>();
- private int _lastId = 0;
- public void WorkWithProgramm()
- {
- const string AddPlayersCommand = "1";
- const string BlockCommand = "2";
- const string UnblockCommand = "3";
- const string DeletePlayerCommand = "4";
- const string EndProgramCommadn = "5";
- bool isWorking = true;
- while (isWorking)
- {
- DisplayPlayersInformation();
- Console.Write($"База данный игроков.\n\n\n" +
- $"Команды для работы с базой данных:\n\n" +
- $"{AddPlayersCommand} - если вы хотите добавть игроков.\n" +
- $"{BlockCommand} - если вы заблокировать игрока.\n" +
- $"{UnblockCommand} - если вы разблокировать игрока.\n" +
- $"{DeletePlayerCommand} - если вы хотите удалить игрока.\n" +
- $"{EndProgramCommadn} - если вы хотите выйти из программы.\n\n\n" +
- $"Ввод: ");
- string? userInput = Console.ReadLine();
- switch (userInput)
- {
- case AddPlayersCommand:
- AddPlayers();
- break;
- case BlockCommand:
- BlockPlayer();
- break;
- case UnblockCommand:
- UnblockPlayer();
- break;
- case DeletePlayerCommand:
- DeletePlayer();
- break;
- case EndProgramCommadn:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Некорректная команда.");
- Console.ReadKey();
- break;
- }
- Console.Clear();
- }
- }
- private void AddPlayers()
- {
- int numberOfPlayers;
- Console.Write("Введите сколько игроков вы хотите создать: ");
- numberOfPlayers = ReadInt();
- for (int i = numberOfPlayers; i > 0; --i)
- {
- bool isBanned = false;
- Console.Write("Введите имя персонажа: ");
- string? name = Console.ReadLine();
- Player user = new Player(_lastId, name, 1, isBanned);
- _players.Add(user);
- _lastId++;
- }
- }
- private void DisplayPlayersInformation()
- {
- int numberOfPlayer = 1;
- foreach (Player user in _players)
- {
- Console.WriteLine($"Игрок - {numberOfPlayer}\n" +
- $"Имя игрока - {user.Name}\n" +
- $"Уровнень игрока - {user.Level}\n" +
- $"Статус игрока - {user.IsBanned}\n" +
- $"Индивидуальный номер игрока - {user.Id}\n\n");
- numberOfPlayer++;
- }
- }
- private void BlockPlayer()
- {
- if (TryGetPlayer(out Player user) == true)
- {
- user.Block();
- }
- }
- private void UnblockPlayer()
- {
- if (TryGetPlayer(out Player user) == true)
- {
- user.Unblock();
- }
- }
- private void DeletePlayer()
- {
- if (TryGetPlayer(out Player user) == true)
- {
- _players.Remove(user);
- }
- }
- private bool TryGetPlayer(out Player player)
- {
- bool haveResult = false;
- int playerId;
- Player needPlayer = null;
- Console.Write("Введите id игрока: ");
- playerId = ReadInt();
- foreach (Player user in _players)
- {
- if (playerId == user.Id)
- {
- haveResult = true;
- needPlayer = user;
- }
- }
- if (haveResult == false)
- {
- Console.WriteLine("Игрока с таким id нет.");
- Console.ReadKey();
- }
- player = needPlayer;
- return haveResult;
- }
- private int ReadInt()
- {
- int numberUserInput = 0;
- bool isWorking = true;
- while (isWorking)
- {
- string? userInput = Console.ReadLine();
- bool isNumber = int.TryParse(userInput, out numberUserInput);
- if (isNumber == false)
- {
- Console.Write("Введите число:");
- }
- else
- {
- isWorking = false;
- }
- }
- return numberUserInput;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment