kwest87

Untitled

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