kwest87

Untitled

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