kwest87

Untitled

May 7th, 2022
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.65 KB | None | 0 0
  1. [StartCode]
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace ConsoleApp23
  9. {
  10.     internal class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             DataBase database = new DataBase();
  15.             string workMenu = "1";
  16.  
  17.             while (workMenu == "1")
  18.             {
  19.                 database.ShowMenu();
  20.                 Console.WriteLine();
  21.                 database.ShowDataBase();
  22.                 Console.WriteLine();
  23.                 Console.WriteLine("Продолжить работать? ( да -1 ),(нет - любую клавишу) : ");
  24.  
  25.                 while (int.TryParse(workMenu, out int number) == false)
  26.                 {
  27.                     break;
  28.                 }
  29.                 workMenu = Console.ReadLine();
  30.             }
  31.         }
  32.     }
  33.  
  34.     class Player
  35.     {
  36.         private bool _isBan;                
  37.  
  38.         public int Level { get; private set; }                  
  39.        
  40.         public string Name { get; private set; }
  41.  
  42.         public Player(int level, string name)        
  43.         {
  44.             Level = level;
  45.             Name = name;
  46.         }
  47.  
  48.         public void Show(int number)
  49.         {
  50.             Console.WriteLine("Номер - " + number + " Уровень - " + Level + " Никнейм - " + Name + " Наличие бана - " + _isBan);
  51.         }
  52.  
  53.         public void Ban()
  54.         {
  55.             _isBan = true;
  56.         }
  57.  
  58.         public void UnBan()
  59.         {
  60.             _isBan = false;
  61.         }
  62.     }
  63.  
  64.     class DataBase
  65.     {
  66.         private List<Player> _players = new List<Player>();
  67.  
  68.         public void ShowDataBase()
  69.         {
  70.             int counter = 1;
  71.             foreach (Player player in _players)
  72.             {
  73.                 player.Show(counter++);
  74.             }
  75.         }
  76.  
  77.         private void AddPlayer(Player player)
  78.         {
  79.             int temporaryLevel;
  80.             Console.WriteLine("Введите уровень игрока : ");
  81.  
  82.             while (int.TryParse(Console.ReadLine(), out  temporaryLevel) == false)
  83.             {
  84.                 Console.WriteLine("ОШИБКА");
  85.             }
  86.            
  87.             Console.WriteLine("Введите никнейм игрока : ");
  88.             string temporaryName = Console.ReadLine();
  89.             Console.WriteLine("Игрок в бане ?(Да - 1 ,нет - любую клавишу) : ");
  90.             string temporaryIsBanned = Console.ReadLine();
  91.             Player temporaryPlayer = new Player(temporaryLevel, temporaryName);
  92.  
  93.             if (temporaryIsBanned == "1")
  94.             {
  95.                 temporaryPlayer.Ban();
  96.             }
  97.             _players.Add(temporaryPlayer);
  98.         }
  99.  
  100.         private void DelitePlayer(Player player)
  101.         {
  102.             Console.WriteLine("Введите номер игрока для удаления :");
  103.             string delitePlayer = Console.ReadLine();
  104.  
  105.             while (int.TryParse(Convert.ToString(delitePlayer), out int number) == false || TryGetPlayer(number, out player) == false)
  106.             {
  107.                 delitePlayer = Console.ReadLine();
  108.             }
  109.             _players.Remove(player);
  110.         }
  111.  
  112.         private void BanPlayer(Player player)
  113.         {
  114.             Console.WriteLine("Введите номер игрока для бана :");
  115.             string banNumber = Console.ReadLine();
  116.  
  117.             while (int.TryParse(Convert.ToString(banNumber), out int number) == false || TryGetPlayer(number, out player) == false)
  118.             {
  119.                 banNumber = Console.ReadLine();
  120.             }
  121.             player.Ban();
  122.         }
  123.  
  124.         private void UnBanPlayer(Player player)
  125.         {
  126.             Console.WriteLine("Введите номер игрока для разбана :");
  127.             string unBanNumber = Console.ReadLine();
  128.  
  129.             while (int.TryParse(Convert.ToString(unBanNumber), out int number) == false || TryGetPlayer(number, out player) == false)
  130.             {
  131.                 unBanNumber = Console.ReadLine();
  132.             }
  133.             player.UnBan();
  134.         }
  135.  
  136.         public void ShowMenu()
  137.         {
  138.             Console.WriteLine("         МЕНЮ");
  139.             Console.WriteLine();
  140.             Console.WriteLine("1 - Добавить игрока.\n2 - Удалить игрока.\n3 - Забанить игрока.\n4 - Разбанить игрока.");
  141.             string userCommand = Console.ReadLine();
  142.             Player player = new Player(0,"");
  143.  
  144.             switch (userCommand)
  145.             {
  146.                 case "1":
  147.                     AddPlayer(player);
  148.                     break;
  149.                 case "2":
  150.                     DelitePlayer(player);
  151.                     break;
  152.                 case "3":
  153.                     BanPlayer(player);
  154.                     break;
  155.                 case "4":
  156.                     UnBanPlayer(player);
  157.                     break;
  158.                 default:
  159.                     while (int.TryParse(userCommand, out int number) ==false)
  160.                     {
  161.                         break;
  162.                     }
  163.                     Console.WriteLine("ОШИБКА");
  164.                     break;
  165.             }
  166.         }
  167.  
  168.         private bool TryGetPlayer(int number, out Player player)
  169.         {
  170.  
  171.             if (number > 0 && number <= _players.Count )
  172.             {
  173.                 player = _players[number - 1];
  174.                 return true;
  175.             }
  176.             else
  177.             {
  178.                 player = null;
  179.                 return false;
  180.             }
  181.         }
  182.     }
  183. }
  184. [EndCode]
Advertisement
Add Comment
Please, Sign In to add comment