Advertisement
illiden

Database

Dec 17th, 2019
374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.69 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 Database
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Database database = new Database();
  14.             bool exit = false;
  15.             while (!exit)
  16.             {
  17.                 Console.Clear();
  18.                 Console.SetCursorPosition(0, 20);
  19.                 database.ShowDatabase();
  20.                 Console.SetCursorPosition(0, 0);
  21.                 Console.WriteLine("База данных игроков\n");
  22.                 Console.WriteLine("1. Добавить игрока\n\n2. Удалить игрока\n\n3. Забанить игрока\n\n4. Разбанить игрока\n\n5. Выход");
  23.                 Console.Write("\nВведите номер команды: ");
  24.                 switch (Console.ReadLine())
  25.                 {
  26.                     case "1":
  27.                         Console.Write("\nВведите имя нового игрока: ");
  28.                         database.AddPlayer(Console.ReadLine());
  29.                         break;
  30.                     case "2":
  31.                         Console.Write("\nВведите ID: ");
  32.                         database.DeletePlayerById(Convert.ToInt32(Console.ReadLine()));
  33.                         break;
  34.                     case "3":
  35.                         Console.Write("\nВведите ID: ");
  36.                         database.BannedById(Convert.ToInt32(Console.ReadLine()));
  37.                         break;
  38.                     case "4":
  39.                         Console.Write("\nВведите ID: ");
  40.                         database.UnbannedById(Convert.ToInt32(Console.ReadLine()));
  41.                         break;
  42.                     case "5":
  43.                         exit = true;
  44.                         break;
  45.                     default:
  46.                         Console.WriteLine("Такой команды не существует!");
  47.                         break;
  48.                 }
  49.                 Console.ReadKey();
  50.             }
  51.         }
  52.     }
  53.  
  54.     class Database
  55.     {
  56.         Player[] players = new Player[0];
  57.  
  58.         public void AddPlayer(string name)
  59.         {
  60.             Player[] newPlayers = new Player[players.Length + 1];
  61.             for (int i = 0; i < players.Length; i++)
  62.             {
  63.                 newPlayers[i] = players[i];
  64.             }
  65.             newPlayers[newPlayers.Length - 1] = new Player(name);
  66.             players = newPlayers;
  67.         }
  68.  
  69.         public void DeletePlayerById(int id)
  70.         {
  71.             Player[] newPlayers = new Player[players.Length - 1];
  72.             int index = 0;
  73.             for (int i = 0; i < newPlayers.Length; i++)
  74.             {
  75.                 if (players[i].Number == id)
  76.                 {
  77.                     index++;
  78.                 }
  79.                 newPlayers[i] = players[index];
  80.                 index++;
  81.             }
  82.             players = newPlayers;
  83.         }
  84.  
  85.         public void BannedById(int id)
  86.         {
  87.             foreach (Player player in players)
  88.             {
  89.                 if (player.Number == id)
  90.                 {
  91.                     player.Banned();
  92.                     return;
  93.                 }
  94.             }
  95.             Console.WriteLine("\nИгрока с таким ID не существуйет!");
  96.         }
  97.  
  98.         public void UnbannedById(int id)
  99.         {
  100.             foreach (Player player in players)
  101.             {
  102.                 if (player.Number == id)
  103.                 {
  104.                     player.Unbanned();
  105.                     return;
  106.                 }
  107.             }
  108.             Console.WriteLine("\nИгрока с таким ID не существуйет!");
  109.         }
  110.  
  111.         public void ShowDatabase()
  112.         {
  113.             foreach (Player player in players)
  114.             {
  115.                 player.ShowPlayerInfo();
  116.             }
  117.         }
  118.     }
  119.  
  120.     class Player
  121.     {
  122.         public static int Ids = 1;
  123.         public string NickName { get; private set; }
  124.         public int Number { get; private set; }
  125.         public int Level { get; private set; }
  126.  
  127.         private bool _ban;
  128.  
  129.         public Player(string nickName, bool ban = false)
  130.         {
  131.             NickName = nickName;
  132.             Number = Ids++;
  133.             Level = 0;
  134.             _ban = ban;
  135.         }
  136.  
  137.         public void ShowPlayerInfo()
  138.         {
  139.             Console.Write($"ID: {Number}, Name: {NickName}, Level: {Level}, Banned: {_ban} \n");
  140.         }
  141.  
  142.         public void Banned()
  143.         {
  144.             _ban = true;
  145.         }
  146.  
  147.         public void Unbanned()
  148.         {
  149.             _ban = false;
  150.         }
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement