Advertisement
IGRODELOFF

Task40

Jun 21st, 2022
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.88 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Task40
  8. {
  9.     internal class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int indexPlayer = 0;
  14.             bool isExit = false;
  15.             string menu =
  16.                 "Добро пожаловать администратор в базе данных игроков. " +
  17.                 "\n\nУ вас в распоряжении есть несколько команд: " +
  18.                 "\nAdd - добавить игрока, по уникальному номеру;" +
  19.                 "\nDelete - удалить игрока, по уникальному номеру;" +
  20.                 "\nBan - забанить игрока, по уникальному номеру;" +
  21.                 "\nUnban - разбанить игрока, по уникальному номеру;" +
  22.                 "\nShow - показать всю информацию об игроках;" +
  23.                 "\nExit - выход из программы.\n";
  24.             string requestCommand =
  25.                 "Введите команду: ";
  26.             string commandNotFound =
  27.                 "Команда не найдена! Повторите попытку. ";
  28.             string parting =
  29.                 "Завершение работы. До свидания. ";
  30.             string inputKey =
  31.                 "Введите Enter для продолжения.";
  32.             string userInput;
  33.  
  34.             DatabasePlayers databasePlayers = new DatabasePlayers();
  35.  
  36.             while (isExit == false)
  37.             {
  38.                 Console.WriteLine(menu);
  39.                 Console.Write(requestCommand);
  40.                 userInput = Console.ReadLine();
  41.  
  42.                 switch (userInput)
  43.                 {
  44.                     case "Add":
  45.                         databasePlayers.Add(indexPlayer);
  46.                         break;
  47.                     case "Delete":
  48.                         databasePlayers.Delete();
  49.                         break;
  50.                     case "Ban":
  51.                         databasePlayers.Ban();
  52.                         break;
  53.                     case "Unban":
  54.                         databasePlayers.UnBan();
  55.                         break;
  56.                     case "Show":
  57.                         databasePlayers.ShowAllPlayers();
  58.                         break;
  59.                     case "Exit":
  60.                         isExit = true;
  61.                         break;
  62.                     default:
  63.                         Console.WriteLine(commandNotFound);
  64.                         break;
  65.                 }
  66.                 indexPlayer++;
  67.                 Console.WriteLine(inputKey);
  68.                 Console.ReadKey();
  69.                 Console.Clear();
  70.             }
  71.             Console.WriteLine(parting);
  72.         }
  73.     }
  74.  
  75.     class DatabasePlayers
  76.     {
  77.         List<Player> players = new List<Player> ();
  78.         public void ShowAllPlayers()
  79.         {
  80.             foreach (var player in players)
  81.             {
  82.                 player.ShowInfo();
  83.             }
  84.         }
  85.  
  86.         public void Add(int indexPlayer)
  87.         {
  88.             bool isBanned = false;
  89.  
  90.             string userInputName;
  91.             int userInputLevel;
  92.             string requestNamePlayer =
  93.                 "Введите имя игрока: ";
  94.             string requestLevelPlayer =
  95.                 "Введите уровень игрока: ";
  96.  
  97.             Console.Write(requestNamePlayer);
  98.             userInputName = Console.ReadLine();
  99.  
  100.             Console.Write(requestLevelPlayer);
  101.             userInputLevel = Convert.ToInt32(Console.ReadLine());
  102.  
  103.             Player player = new Player(indexPlayer, userInputName, userInputLevel, isBanned);
  104.             players.Add(player);
  105.         }
  106.  
  107.         public void Delete()
  108.         {
  109.             string requestIdPlayer =
  110.                 "Введите Id игрока, которого хотите удалить.";
  111.  
  112.             Console.WriteLine(requestIdPlayer);
  113.             int userInput = Convert.ToInt32(Console.ReadLine());
  114.  
  115.             players.RemoveAt(userInput);
  116.         }
  117.  
  118.         public void Ban()
  119.         {
  120.             string requestIdPlayer =
  121.                 "Введите Id игрока, которого хотите забанить.";
  122.             string playerIsBanned =
  123.                 "Игрок был забанен.";
  124.             string playerBanned =
  125.                 "Игрок забанен.";
  126.  
  127.             Console.WriteLine(requestIdPlayer);
  128.             int userInput = Convert.ToInt32(Console.ReadLine());
  129.  
  130.             if (players[userInput].IsBanned == true)
  131.                 Console.WriteLine(playerIsBanned);
  132.             else
  133.             {
  134.                 Console.WriteLine(playerBanned);
  135.                 players[userInput].Ban();
  136.             }
  137.         }
  138.  
  139.         public void UnBan()
  140.         {
  141.             string requestIdPlayer =
  142.                 "Введите Id игрока, которого хотите разбанить.";
  143.             string playerNotBanned =
  144.                 "Игрок был не забанен.";
  145.             string playerUnBanned =
  146.                 "Игрок разбанен.";
  147.  
  148.             Console.WriteLine(requestIdPlayer);
  149.             int userInput = Convert.ToInt32(Console.ReadLine());
  150.  
  151.             if (players[userInput].IsBanned == false)
  152.                 Console.WriteLine(playerNotBanned);
  153.             else
  154.             {
  155.                 Console.WriteLine(playerUnBanned);
  156.                 players[userInput].UnBan();
  157.             }
  158.         }
  159.     }
  160.  
  161.     class Player
  162.     {
  163.         private int _numberPlayer;
  164.         private string _nickName;
  165.         private int _level;
  166.         private bool _isBanned;
  167.  
  168.         public bool IsBanned { get { return _isBanned; } }
  169.         public void Ban()
  170.         {
  171.             _isBanned = true;
  172.         }
  173.  
  174.         public void UnBan()
  175.         {
  176.             _isBanned = false;
  177.         }
  178.  
  179.         public Player(int numberPlayer, string nickName, int level, bool isBanned)
  180.         {
  181.             _numberPlayer = numberPlayer;
  182.             _nickName = nickName;
  183.             _level = level;
  184.             _isBanned = isBanned;
  185.         }
  186.  
  187.         public void ShowInfo()
  188.         {
  189.             string isBannedConclusion;
  190.  
  191.             if (_isBanned)
  192.                 isBannedConclusion = "забанен";
  193.             else
  194.                 isBannedConclusion = "не забанен";
  195.  
  196.             Console.WriteLine(
  197.                 "\nУникальный номер: " + _numberPlayer +
  198.                 "\nНикнейм: " + _nickName +
  199.                 "\nЛевел: " + _level +
  200.                 "\nЗабанен?: " + isBannedConclusion +
  201.                 "\n=============================================");
  202.         }
  203.     }
  204. }
  205.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement