kwest87

Untitled

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