Advertisement
dmitryEfremov

Untitled

Aug 14th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.CompilerServices;
  4. using System.Runtime.InteropServices.ComTypes;
  5. using System.Security.Cryptography.X509Certificates;
  6.  
  7. namespace ConsoleApp1
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. PlayersBase Players = new PlayersBase();
  14.  
  15. bool exit = true;
  16. while (exit)
  17. {
  18. Console.WriteLine("Функционал базы данных:");
  19. Console.WriteLine("1 - добавить игрока");
  20. Console.WriteLine("2 - удалить игрока");
  21. Console.WriteLine("3 - забанить игрока");
  22. Console.WriteLine("4 - разбанить игрока");
  23. Console.WriteLine("5 - посмотреть базу");
  24. Console.WriteLine("6 - выйти");
  25. Console.Write("Введите функцию: ");
  26. int input = Convert.ToInt32(Console.ReadLine());
  27.  
  28. switch (input)
  29. {
  30. case 1:
  31. Console.Write("Введите имя:");
  32. string name = Console.ReadLine();
  33. Console.Write("Введите уровень:");
  34. int level = Convert.ToInt32(Console.ReadLine());
  35.  
  36. Players.AddPlayer(new Player(name, level, true));
  37. break;
  38. case 2:
  39. Console.Write("Введите порядковый номер игрока - ");
  40.  
  41. Players.RemovePlayer(Convert.ToInt32(Console.ReadLine()));
  42. break;
  43. case 3:
  44. Console.Write("Введите порядковый номер игрока - ");
  45.  
  46. Players.BannedPlayer(Convert.ToInt32(Console.ReadLine()));
  47. break;
  48. case 4:
  49. Console.Write("Введите порядковый номер игрока - ");
  50.  
  51. Players.UnbannedPlayer(Convert.ToInt32(Console.ReadLine()));
  52. break;
  53. case 5:
  54. Players.ShowInfo();
  55. break;
  56. case 6:
  57. exit = false;
  58. break;
  59. default:
  60. Console.WriteLine("Вы ввели неправельную функцию. Пожалуйста, повторите попытку.");
  61. break;
  62. }
  63.  
  64. Console.ReadLine();
  65. Console.Clear();
  66. }
  67. }
  68. }
  69.  
  70. class Player
  71. {
  72. public string name { get; private set; }
  73. private int _level;
  74. private bool _isBanned;
  75.  
  76. public Player(string name, int level, bool isBanned)
  77. {
  78. this.name = name;
  79. _isBanned = isBanned;
  80. Level = level;
  81. }
  82.  
  83. public int Level
  84. {
  85. get
  86. {
  87. return _level;
  88. }
  89.  
  90. private set
  91. {
  92. if (value > 0)
  93. _level = value;
  94. }
  95. }
  96. }
  97.  
  98. class PlayersBase
  99. {
  100. private List<Player> _players = new List<Player>();
  101. private List<int> _bannedList = new List<int>();
  102.  
  103. public void AddPlayer(Player player)
  104. {
  105. _players.Add(player);
  106. }
  107.  
  108. public void RemovePlayer(int number)
  109. {
  110. _players.RemoveAt(number - 1);
  111. for(int j = 0; j < _bannedList.Count; j++)
  112. {
  113. if (number == _bannedList[j])
  114. _bannedList.RemoveAt(j);
  115. }
  116. }
  117.  
  118. public void BannedPlayer(int number)
  119. {
  120. _bannedList.Add(number - 1);
  121. }
  122.  
  123. public void UnbannedPlayer(int number)
  124. {
  125. _bannedList.Remove(number - 1);
  126. }
  127. public void ShowInfo()
  128. {
  129. for (int i = 0; i < _players.Count; i++)
  130. {
  131. string isBanned = "не забанен";
  132. for (int j = 0; j < _bannedList.Count; j++)
  133. {
  134. if (i == _bannedList[j])
  135. isBanned = "забанен";
  136. }
  137. Console.WriteLine($"База данных игрока: [{i + 1}]{_players[i].name}\nУровень - {_players[i].Level}\nФлаг - {isBanned}.");
  138. }
  139. }
  140. }
  141. }
  142.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement