kwest87

Untitled

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