Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace DataBasePlayers
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool isWork = true;
- DataBase dataBase = new DataBase();
- while (isWork)
- {
- Console.WriteLine("Выбирете необходимый пункт:\n" +
- "\n1. Добавить игрока" +
- "\n2. Посмотреть всех" +
- "\n3. Удалить игрока по ID" +
- "\n4. Сменить статус бана" +
- "\n5. Выйти из программы");
- string userSelection = Console.ReadLine();
- switch (userSelection)
- {
- case "1":
- dataBase.AddPlayer();
- break;
- case "2":
- dataBase.ShowAllPlayers();
- break;
- case "3":
- dataBase.ShowAllPlayers();
- dataBase.RemovePlayerById();
- break;
- case "4":
- dataBase.ShowAllPlayers();
- dataBase.ChangeBanStatusPlayerById();
- break;
- case "5":
- isWork = false;
- break;
- default:
- Console.WriteLine("Ошибка, такого пункта меню нет");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- }
- class Player
- {
- private static int _idCounter = 1;
- private int _level;
- private string _name;
- private bool _isBaned;
- public Player(string name, int level, bool isBaned = false)
- {
- _name = name;
- _level = level;
- _isBaned = isBaned;
- UniqueNumber = _idCounter++;
- }
- public int UniqueNumber { get; private set; }
- public void ShowInfo()
- {
- Console.WriteLine($"ID игрока: {UniqueNumber}," +
- $"Ник игрока: {_name}, " +
- $"уровень - {_level} " +
- $"{(_isBaned ? ", !!!БАН!!!" : ".")}");
- }
- public void ChangeBanStatus()
- {
- _isBaned = _isBaned ? false : true;
- }
- }
- class DataBase
- {
- private List<Player> _players;
- public DataBase()
- {
- _players = new List<Player>();
- }
- public void AddPlayer()
- {
- Console.WriteLine("Введите ник игрока:");
- string namePlayer = Console.ReadLine();
- Console.WriteLine("Введите уровень игрока:");
- int levelPlayer = Convert.ToInt32(Console.ReadLine());
- Player player = new Player(namePlayer, levelPlayer);
- _players.Add(player);
- Console.WriteLine($"Игрок {namePlayer} успешно добавлен");
- }
- public void RemovePlayerById()
- {
- Console.Write("Введите ID для удаления: ");
- int id = Convert.ToInt32(Console.ReadLine());
- Player playerToRemove = null;
- foreach (Player player in _players)
- {
- if (player.UniqueNumber == id)
- {
- playerToRemove = player;
- break;
- }
- }
- if (playerToRemove != null)
- {
- _players.Remove(playerToRemove);
- Console.WriteLine($"Игрок с ID {id} успешно удален");
- }
- else
- {
- Console.WriteLine($"Игрок с ID {id} не найден");
- }
- }
- public void ChangeBanStatusPlayerById()
- {
- Console.Write("Введите ID для изменения статуса БАНА: ");
- int id = Convert.ToInt32(Console.ReadLine());
- Player playerToBan = null;
- foreach (Player player in _players)
- {
- if (player.UniqueNumber == id)
- {
- playerToBan = player;
- break;
- }
- }
- if (playerToBan != null)
- {
- playerToBan.ChangeBanStatus();
- Console.WriteLine($"Статус бана игрока с ID {id} успешно изменен");
- }
- else
- {
- Console.WriteLine($"Игрок с ID {id} не найден");
- }
- }
- public void ShowAllPlayers()
- {
- if (_players.Count > 0)
- {
- foreach (var player in _players)
- {
- player.ShowInfo();
- }
- }
- else
- {
- Console.WriteLine("Список пуст");
- }
- }
- }
- }
Advertisement
Advertisement