Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace BDPlayers
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool isRun = true;
- Database database = new Database();
- while (isRun)
- {
- isRun = database.IsWork();
- }
- }
- }
- class Player
- {
- public string Nickname { get; private set; }
- public int Index { get; private set; }
- public int Level { get; private set; }
- public bool IsBanned { get; private set; }
- List<Player> Gamers = new List<Player>(0);
- public Player()
- {
- Nickname = "Без имени";
- Index = 0;
- Level = 0;
- IsBanned = false;
- }
- public Player(string nickname, int index, int lvl, bool isBannded)
- {
- Nickname = nickname;
- Index = index;
- Level = lvl;
- IsBanned = isBannded;
- }
- public void AddPlayer()
- {
- Console.Write("Введите никнейм: ");
- Nickname = Console.ReadLine();
- Console.Write("Введите уровень игрока: ");
- Level = int.Parse(Console.ReadLine());
- Console.Write("Игрок по умолчанию не в бане. Забанить? [Да]/[Нет]");
- string userInput = Console.ReadLine();
- if (userInput == "Да")
- {
- Console.WriteLine("Баним...");
- IsBanned = true;
- }
- else if (userInput == "Нет")
- {
- Console.WriteLine("Не баним...");
- }
- else
- {
- Console.WriteLine("Неправильный ввод, устанавливаем по умолчанию...");
- }
- Console.WriteLine("Порядковый номер пользователя: " + (Index = Gamers.Count + 1));
- Gamers.Add(new Player(Nickname, Index, Level, IsBanned));
- }
- public void ShowPlayers()
- {
- if (Gamers.Count == 0)
- {
- Console.WriteLine("База данных пуста!");
- return;
- }
- foreach (var player in Gamers)
- {
- Console.Write($"Игрок №{player.Index}: {player.Nickname};{player.Level} lvl;");
- if (player.IsBanned)
- Console.Write($"В бане.\n");
- else
- Console.Write($"Не в бане.\n");
- }
- }
- public void DeletePlayer()
- {
- if (isUserInputCorrect(out int userIndex, Gamers) && isDataBaseEmpty(Gamers))
- {
- Console.WriteLine($"Игрок с порядковым номером: {userIndex} - удален");
- Gamers.RemoveAt(userIndex - 1);
- }
- }
- public void SetAccess(bool flag)
- {
- if(isUserInputCorrect(out int userIndex, Gamers) && isDataBaseEmpty(Gamers))
- {
- if (Gamers[userIndex - 1].IsBanned == flag)
- {
- Console.WriteLine($"Бан игрока - {flag}!");
- return;
- }
- Gamers[userIndex - 1].IsBanned = flag;
- Console.WriteLine($"Бан игрок с порядковым номером: {userIndex} задан как {flag}");
- }
- }
- public bool isUserInputCorrect(out int userIndex, List<Player> Gamers)
- {
- Console.Write("Выберите порядковый номер игрока: ");
- if (int.TryParse(Console.ReadLine(), out userIndex) == false || (userIndex > Gamers.Count || userIndex <= 0))
- {
- Console.WriteLine("Некорректный ввод!");
- return false;
- }
- return true;
- }
- public bool isDataBaseEmpty(List<Player> Gamers)
- {
- if (Gamers.Count == 0)
- {
- Console.WriteLine("База данных пуста!");
- return false;
- }
- return true;
- }
- }
- class Database
- {
- Player player1 = new Player();
- public bool IsWork()
- {
- Console.WriteLine("[1] - добавить игрока, [2] - показать всех игроков, " +
- "[3] - забанить игрока\n[4] - разбанить игрока, [5] - удалить игрока, [6] - выход");
- Console.Write("Ввод: ");
- switch (Console.ReadLine())
- {
- case "1":
- player1.AddPlayer();
- break;
- case "2":
- player1.ShowPlayers();
- break;
- case "3":
- player1.SetAccess(true);
- break;
- case "4":
- player1.SetAccess(false);
- break;
- case "5":
- player1.DeletePlayer();
- break;
- case "6":
- return false;
- default:
- Console.WriteLine("Ошибка!");
- break;
- }
- return true;
- }
- }
- }
Add Comment
Please, Sign In to add comment