Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [StartCode]
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp23
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- DataBase database = new DataBase();
- string workMenu = "1";
- while (workMenu == "1")
- {
- database.ShowMenu();
- Console.WriteLine();
- database.ShowDataBase();
- Console.WriteLine();
- Console.WriteLine("Продолжить работать? ( да -1 ),(нет - любую клавишу) : ");
- while (int.TryParse(workMenu, out int number)==false)
- {
- break;
- }
- workMenu = Console.ReadLine();
- }
- }
- }
- class Player
- {
- private bool _isBan;
- public int Level { get; private set; }
- public string Name { get; private set; }
- public Player(int level, string name)
- {
- Level = level;
- Name = name;
- }
- public void Show(int number)
- {
- Console.WriteLine("Номер - " + number + " Уровень - " + Level + " Никнейм - " + Name + " Наличие бана - " + _isBan);
- }
- public void Ban()
- {
- _isBan = true;
- }
- public void UnBan()
- {
- _isBan = false;
- }
- }
- class DataBase
- {
- private List<Player> _players = new List<Player>();
- public void ShowDataBase()
- {
- int counter = 1;
- foreach (Player player in _players)
- {
- player.Show(counter++);
- }
- }
- public void AddPlayer(Player player)
- {
- int temporaryLevel;
- Console.WriteLine("Введите уровень игрока : ");
- while (int.TryParse(Console.ReadLine(), out temporaryLevel) == false)
- {
- Console.WriteLine("ОШИБКА");
- }
- Console.WriteLine("Введите никнейм игрока : ");
- string temporaryName = Console.ReadLine();
- Console.WriteLine("Игрок в бане ?(Да - 1 ,нет - любую клавишу) : ");
- string temporaryIsBanned = Console.ReadLine();
- Player temporaryPlayer = new Player(temporaryLevel, temporaryName);
- if (temporaryIsBanned == "1")
- {
- temporaryPlayer.Ban();
- }
- _players.Add(temporaryPlayer);
- }
- public void DelitePlayer(Player player)
- {
- Console.WriteLine("Введите номер игрока для удаления :");
- string delitePlayer = Console.ReadLine();
- while (TryGetPlayer(Convert.ToInt32(delitePlayer), out player) == false)
- {
- delitePlayer = Console.ReadLine();
- }
- _players.Remove(player);
- }
- public void BanPlayer(Player player)
- {
- Console.WriteLine("Введите номер игрока для бана :");
- string banNumber = Console.ReadLine();
- while (TryGetPlayer(Convert.ToInt32(banNumber), out player) == false)
- {
- banNumber = Console.ReadLine();
- }
- player.Ban();
- }
- public void UnBanPlayer(Player player)
- {
- Console.WriteLine("Введите номер игрока для разбана :");
- string unBanNumber = Console.ReadLine();
- while (TryGetPlayer(Convert.ToInt32(unBanNumber), out player) == false)
- {
- unBanNumber = Console.ReadLine();
- }
- player.UnBan();
- }
- public void ShowMenu()
- {
- Console.WriteLine(" МЕНЮ");
- Console.WriteLine();
- Console.WriteLine("1 - Добавить игрока.\n2 - Удалить игрока.\n3 - Забанить игрока.\n4 - Разбанить игрока.");
- string userCommand = Console.ReadLine();
- Player player = new Player(0,"");
- switch (userCommand)
- {
- case "1":
- AddPlayer(player);
- break;
- case "2":
- DelitePlayer(player);
- break;
- case "3":
- BanPlayer(player);
- break;
- case "4":
- UnBanPlayer(player);
- break;
- default:
- while (int.TryParse(userCommand, out int number) ==false)
- {
- break;
- }
- Console.WriteLine("ОШИБКА");
- break;
- }
- }
- private bool TryGetPlayer(int playerNumber, out Player player)
- {
- int.TryParse(Convert.ToString(playerNumber), out int number);
- if (number > 0 && number <= _players.Count)
- {
- player = _players[number - 1];
- return true;
- }
- else
- {
- player = null;
- return false;
- }
- }
- }
- }
- [EndCode]
Advertisement
Add Comment
Please, Sign In to add comment