kwest87

Untitled

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