kwest87

Untitled

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