Advertisement
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;
- Player player = new Player();
- DataBase dataBase = new DataBase();
- List<Player> players = dataBase.Players;
- //players.Add(new Player("Io", 1, 15, true)); игрок для теста
- while (isRun)
- {
- Console.WriteLine("[1] - добавить игрока, [2] - показать всех игроков, " +
- "[3] - забанить игрока\n[4] - разбанить игрока, [5] - удалить игрока, [6] - выход");
- Console.Write("Ввод: ");
- switch (Console.ReadLine())
- {
- case "1":
- dataBase.AddPlayer(player, players);
- break;
- case "2":
- dataBase.ShowPlayers(players);
- break;
- case "3":
- dataBase.BanPlayer(player, players);
- break;
- case "4":
- dataBase.UnbanPlayer(players);
- break;
- case "5":
- dataBase.DeletePlayer(players);
- break;
- case "6":
- isRun = false;
- break;
- default:
- Console.WriteLine("Ошибка!");
- break;
- }
- }
- }
- }
- class Player
- {
- 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 string Nickname { get; set; }
- public int Index { get; set; }
- public int Level { get; set; }
- public bool IsBanned { get; set; }
- }
- class DataBase
- {
- public List<Player> Players { get; private set; } = new List<Player>();
- public DataBase()
- {
- Players = new List<Player>(0);
- }
- public DataBase(List<Player> players)
- {
- Players = players;
- }
- public void AddPlayer(Player player, List<Player> players)
- {
- Console.Write("Введите никнейм: ");
- player.Nickname = Console.ReadLine();
- Console.Write("Введите уровень игрока: ");
- player.Level = int.Parse(Console.ReadLine());
- Console.Write("Игрок по умолчанию не в бане. Забанить? [Да]/[Нет]");
- string userInput = Console.ReadLine();
- if (userInput == "Да")
- {
- Console.WriteLine("Баним...");
- player.IsBanned = true;
- }
- else if (userInput == "Нет")
- Console.WriteLine("Не баним...");
- else
- {
- Console.WriteLine("Неправильный ввод, устанавливаем по умолчанию...");
- }
- Console.WriteLine("Порядковый номер пользователя: " + ((player.Index = players.Count + 1)));
- players.Add(new Player(player.Nickname, player.Index, player.Level, player.IsBanned));
- }
- public void ShowPlayers(List<Player> players)
- {
- if (players.Count == 0)
- {
- Console.WriteLine("База данных пуста!");
- return;
- }
- foreach (var player in players)
- {
- Console.Write($"Игрок №{player.Index}: {player.Nickname};{player.Level} lvl;");
- if (player.IsBanned)
- Console.Write($"В бане.\n");
- else
- Console.Write($"Не в бане.\n");
- }
- }
- public void DeletePlayer(List<Player> players)
- {
- if (players.Count == 0)
- {
- Console.WriteLine("База данных пуста!");
- return;
- }
- Console.Write("Выберите порядковый номер игрока, которого нужно удалить: ");
- if (int.TryParse(Console.ReadLine(), out int userIndex) == false || (userIndex > players.Count || userIndex <= 0))
- {
- Console.WriteLine("Некорректный ввод!");
- return;
- }
- Console.WriteLine($"Игрок с порядковым номером: {userIndex} - удален");
- players.RemoveAt(userIndex - 1);
- }
- public void BanPlayer(Player player, List<Player> players)
- {
- if (players.Count == 0)
- {
- Console.WriteLine("База данных пуста!");
- return;
- }
- Console.Write("Выберите порядковый номер игрока, которого нужно забанить: ");
- if (int.TryParse(Console.ReadLine(), out int userIndex) == false || (userIndex > players.Count || userIndex <= 0))
- {
- Console.WriteLine("Некорректный ввод!");
- return;
- }
- if(players[userIndex - 1].IsBanned)
- {
- Console.WriteLine("Игрок уже забанен!");
- return;
- }
- players[userIndex - 1].IsBanned = true;
- Console.WriteLine($"Игрок с порядковым номером: {userIndex} - забанен");
- }
- public void UnbanPlayer(List<Player> players)
- {
- if (players.Count == 0)
- {
- Console.WriteLine("База данных пуста!");
- return;
- }
- Console.Write("Выберите порядковый номер игрока, которого нужно разбанить: ");
- if (int.TryParse(Console.ReadLine(), out int userIndex) == false || (userIndex > players.Count || userIndex <= 0))
- {
- Console.WriteLine("Некорректный ввод!");
- return;
- }
- if (players[userIndex - 1].IsBanned == false)
- {
- Console.WriteLine("Игрок не в бане!");
- return;
- }
- players[userIndex - 1].IsBanned = false;
- Console.WriteLine($"Игрок с порядковым номером: {userIndex} - разбанен");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement