kwest87

Untitled

May 8th, 2022
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.70 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.         public void ShowMenu()
  77.         {
  78.             Console.WriteLine("         МЕНЮ");
  79.             Console.WriteLine();
  80.             Console.WriteLine("1 - Добавить игрока.\n2 - Удалить игрока.\n3 - Забанить игрока.\n4 - Разбанить игрока.");
  81.             string userCommand = Console.ReadLine();
  82.             Player player = new Player(0, "");
  83.  
  84.             switch (userCommand)
  85.             {
  86.                 case "1":
  87.                     AddPlayer(player);
  88.                     break;
  89.                 case "2":
  90.                     DelitePlayer(player);
  91.                     break;
  92.                 case "3":
  93.                     BanPlayer(player);
  94.                     break;
  95.                 case "4":
  96.                     UnBanPlayer(player);
  97.                     break;
  98.                 default:
  99.                     while (int.TryParse(userCommand, out int number) == false)
  100.                     {
  101.                         break;
  102.                     }
  103.                     Console.WriteLine("ОШИБКА");
  104.                     break;
  105.             }
  106.         }
  107.  
  108.         private void AddPlayer(Player player)
  109.         {
  110.             int temporaryLevel;
  111.             Console.WriteLine("Введите уровень игрока : ");
  112.  
  113.             while (int.TryParse(Console.ReadLine(), out  temporaryLevel) == false)
  114.             {
  115.                 Console.WriteLine("ОШИБКА");
  116.             }
  117.            
  118.             Console.WriteLine("Введите никнейм игрока : ");
  119.             string temporaryName = Console.ReadLine();
  120.             Console.WriteLine("Игрок в бане ?(Да - 1 ,нет - любую клавишу) : ");
  121.             string temporaryIsBanned = Console.ReadLine();
  122.             Player temporaryPlayer = new Player(temporaryLevel, temporaryName);
  123.  
  124.             if (temporaryIsBanned == "1")
  125.             {
  126.                 temporaryPlayer.Ban();
  127.             }
  128.             _players.Add(temporaryPlayer);
  129.         }
  130.  
  131.         private void DelitePlayer(Player player)
  132.         {
  133.             Console.WriteLine("Введите номер игрока для удаления :");
  134.             string delitePlayer = Console.ReadLine();
  135.  
  136.             while (int.TryParse(Convert.ToString(delitePlayer), out int number) == false || TryGetPlayer(number, out player) == false)
  137.             {
  138.                 delitePlayer = Console.ReadLine();
  139.             }
  140.             _players.Remove(player);
  141.         }
  142.  
  143.         private void BanPlayer(Player player)
  144.         {
  145.             Console.WriteLine("Введите номер игрока для бана :");
  146.             string banNumber = Console.ReadLine();
  147.  
  148.             while (int.TryParse(Convert.ToString(banNumber), out int number) == false || TryGetPlayer(number, out player) == false)
  149.             {
  150.                 banNumber = Console.ReadLine();
  151.             }
  152.             player.Ban();
  153.         }
  154.  
  155.         private void UnBanPlayer(Player player)
  156.         {
  157.             Console.WriteLine("Введите номер игрока для разбана :");
  158.             string unBanNumber = Console.ReadLine();
  159.  
  160.             while (int.TryParse(Convert.ToString(unBanNumber), out int number) == false || TryGetPlayer(number, out player) == false)
  161.             {
  162.                 unBanNumber = Console.ReadLine();
  163.             }
  164.             player.UnBan();
  165.         }
  166.  
  167.         private bool TryGetPlayer(int number, out Player player)
  168.         {
  169.  
  170.             if (number > 0 && number <= _players.Count )
  171.             {
  172.                 player = _players[number - 1];
  173.                 return true;
  174.             }
  175.             else
  176.             {
  177.                 player = null;
  178.                 return false;
  179.             }
  180.         }
  181.     }
  182. }
  183. [EndCode]
Advertisement
Add Comment
Please, Sign In to add comment