RedFlys

Home Work 5.2

Nov 17th, 2019
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.46 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 ConsoleApp3
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int userNumber;
  14.  
  15.             Render render = new Render();
  16.             DataBasePlayer dataBasePlayer = new DataBasePlayer();
  17.  
  18.             while (true)
  19.             {
  20.                 render.ShowListPlayer(dataBasePlayer.ArrivePlayer);
  21.                 render.ShowListCommand();
  22.  
  23.                 userNumber = Convert.ToInt32(Console.ReadLine());
  24.  
  25.                 if (userNumber == 1)
  26.                 {
  27.                     dataBasePlayer.ArrivePlayer = dataBasePlayer.AddPlayer();
  28.                 }
  29.                 else if (userNumber == 2)
  30.                 {
  31.                     userNumber = ChangeNumber();
  32.                     dataBasePlayer.ArrivePlayer = dataBasePlayer.DeletePlayer(userNumber);
  33.                 }
  34.                 else if (userNumber == 3)
  35.                 {
  36.                     userNumber = ChangeNumber();
  37.                     dataBasePlayer.ArrivePlayer[userNumber - 1].BanPlayer();
  38.                 }
  39.                 else if (userNumber == 4)
  40.                 {
  41.                     userNumber = ChangeNumber();
  42.                     dataBasePlayer.ArrivePlayer[userNumber - 1].UnbanPlayer();
  43.                 }
  44.                 else if (userNumber == 5)
  45.                 {
  46.                     break;
  47.                 }
  48.                 else
  49.                 {
  50.                     render.ErrorCommand();
  51.                 }
  52.  
  53.                 Console.Clear();
  54.             }
  55.         }
  56.  
  57.         static int ChangeNumber()
  58.         {
  59.             Console.WriteLine("Введите порядковый номер игрока:");
  60.             return Convert.ToInt32(Console.ReadLine());
  61.         }
  62.     }
  63.  
  64.     class Player
  65.     {
  66.         public int IndexNumber;
  67.         public string Nickname;
  68.         public int Level;
  69.         public string GameClass;
  70.         public bool Banned;
  71.  
  72.         public Player(int indexNumber, string nickname, int level, string gameClass, bool banned)
  73.         {
  74.             IndexNumber = indexNumber;
  75.             Nickname = nickname;
  76.             Level = level;
  77.             GameClass = gameClass;
  78.             Banned = banned;
  79.         }
  80.  
  81.         public Player()
  82.         {
  83.             IndexNumber = 0;
  84.             Nickname = "noname";
  85.             Level = 1;
  86.             GameClass = "Knight";
  87.             Banned = false;
  88.         }
  89.  
  90.         public void WriteInfo()
  91.         {
  92.             Console.Write($"{IndexNumber}. Ник: {Nickname}. Уровень персонажа: {Level}. Класс персонажа: {GameClass}.");
  93.             if (Banned)
  94.                 Console.Write("Banned");
  95.             Console.WriteLine();
  96.         }
  97.  
  98.         public Player CreateNewPlayer(Player player, int indexNumber)
  99.         {
  100.             IndexNumber = indexNumber;
  101.             Console.WriteLine("Введите никнейм персонажа: ");
  102.             Nickname = Console.ReadLine();
  103.             Console.WriteLine("Введите класс персонажа: ");
  104.             GameClass = Console.ReadLine();
  105.  
  106.             return player;
  107.         }
  108.  
  109.         public bool BanPlayer()
  110.         {
  111.             return Banned = true;
  112.         }
  113.  
  114.         public bool UnbanPlayer()
  115.         {
  116.             return Banned = false;
  117.         }
  118.     }
  119.    
  120.     class DataBasePlayer
  121.     {
  122.         public Player[] ArrivePlayer;
  123.  
  124.         public DataBasePlayer ()
  125.         {
  126.             Player[] arrivePlayer = { new Player(1, "RedFly", 80, "Warrior", false), new Player(2, "Qwerty", 40, "Warlock", true), new Player(3, "RedCock", 80, "Knight", false) };
  127.             ArrivePlayer = arrivePlayer;
  128.         }
  129.  
  130.         public Player[] AddPlayer()
  131.         {
  132.             Player[] tempPlayer = new Player[ArrivePlayer.Length + 1];
  133.  
  134.             for (int i = 0; i < ArrivePlayer.Length; i++)
  135.             {
  136.                 tempPlayer[i] = ArrivePlayer[i];
  137.             }
  138.  
  139.             tempPlayer[tempPlayer.Length - 1] = new Player();
  140.             tempPlayer[tempPlayer.Length - 1].CreateNewPlayer(tempPlayer[tempPlayer.Length - 1],  tempPlayer.Length);
  141.  
  142.             return tempPlayer;
  143.         }
  144.  
  145.         public Player[] DeletePlayer(int userNumber)
  146.         {
  147.             Player[] tempPlayer = new Player[ArrivePlayer.Length - 1];
  148.  
  149.             for (int i = 0; i < userNumber - 1; i++)
  150.             {
  151.                 tempPlayer[i] = ArrivePlayer[i];
  152.             }
  153.  
  154.             for (int i = userNumber - 1; i < tempPlayer.Length; i++)
  155.             {
  156.                 tempPlayer[i] = ArrivePlayer[i + 1];
  157.                 tempPlayer[i].IndexNumber = i + 1;
  158.             }
  159.  
  160.             return tempPlayer;
  161.         }
  162.     }
  163.  
  164.     class Render
  165.     {
  166.         public void ShowListPlayer(Player[] player)
  167.         {
  168.             for (int i = 0; i < player.Length; i++)
  169.             {
  170.                 player[i].WriteInfo();
  171.             }
  172.         }
  173.  
  174.         public void ShowListCommand()
  175.         {
  176.             Console.WriteLine();
  177.             Console.WriteLine("\n1. Добавить игрока. \n2. Удалить игрока. \n3. Забанить игрока. \n4. Разбанить игрока. \n5. Выход. \nВведите номер команды:");
  178.         }
  179.  
  180.         public void ErrorCommand()
  181.         {
  182.             Console.WriteLine("Неверный номер комадны.");
  183.         }
  184.     }  
  185. }
Add Comment
Please, Sign In to add comment