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 ООП
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool isOpenGame = true;
- string userInput;
- Database players = new Database(new List<Player>());
- while (isOpenGame)
- {
- Console.Write($"1. Добавить игрока\n2. Бан игрока по порядковому номеру\n" +
- $"3. Разбан игрока по порядковому номеру\n4. Удаление игрока\n5. Выход\nВыберите действие: ");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case "1":
- players.CreatePlayer();
- break;
- case "2":
- players.BanPlayer();
- break;
- case "3":
- players.UnbanPlayer();
- break;
- case "4":
- players.DeletePlayer();
- break;
- case "5":
- isOpenGame = false;
- Console.Write("До свидания!");
- break;
- default:
- Console.Write("Такого действия нет!");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- }
- class Database
- {
- private List<Player> _players = new List<Player>();
- public Database(List<Player> players)
- {
- _players = players;
- }
- public void CreatePlayer()
- {
- Console.Write("Введите имя нового игрока: ");
- string userInput = Console.ReadLine();
- _players.Add(new Player(userInput));
- Console.Write("Вы успешно добавили нового игрока!");
- }
- public void BanPlayer()
- {
- ShowAllPlayers();
- Console.Write("Введите № игрока, которого хотите забанить: ");
- string userInput = Console.ReadLine();
- if (TryGetPlayer(userInput, out Player player))
- {
- player.Ban();
- Console.Write($"Игрок №{userInput}, был забанен!");
- }
- }
- public void UnbanPlayer()
- {
- ShowAllPlayers();
- Console.Write("Введите № игрока, которого хотите разбанить: ");
- string userInput = Console.ReadLine();
- if (TryGetPlayer(userInput, out Player player))
- {
- player.Unban();
- Console.Write($"Игрок №{userInput}, был разбанен!");
- }
- }
- public void DeletePlayer()
- {
- ShowAllPlayers();
- Console.Write("Введите № игрока, которого хотите удалить: ");
- string userInput = Console.ReadLine();
- if (TryGetPlayer(userInput, out Player player))
- {
- _players.Remove(player);
- Console.Write($"Игрок №{userInput}, был удалён!");
- }
- }
- public void ShowAllPlayers()
- {
- for (int i = 0; i < _players.Count; i++)
- {
- Console.Write($"№{i} ");
- _players[i].ShowInfo();
- }
- }
- private bool TryGetPlayer(string userInput, out Player player)
- {
- player = null;
- if (int.TryParse(userInput, out int id))
- {
- if (id >= 0 && id < _players.Count)
- {
- player = _players[id];
- return true;
- }
- else
- {
- Console.Write("Такого ID нет!");
- return false;
- }
- }
- else
- {
- Console.Write("Некорректный ввод!");
- return false;
- }
- }
- }
- class Player
- {
- private string _name;
- private int _level;
- private bool _isBanned;
- public Player(string name)
- {
- _name = name;
- _level = 1;
- _isBanned = false;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"Имя: {_name}, Уровень {_level}, Бан = {_isBanned}");
- }
- public void Ban()
- {
- _isBanned = true;
- }
- public void Unban()
- {
- _isBanned = false;
- }
- }
- }
Add Comment
Please, Sign In to add comment