Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Homework3
- {
- class Program
- {
- static void Main(string[] args)
- {
- Database database = new Database();
- database.Work();
- }
- class Player
- {
- private int _level;
- private string _name;
- public bool IsBanned { get; private set; }
- public Player(int level, string name, bool isBanned)
- {
- _level = level;
- _name = name;
- IsBanned = isBanned;
- }
- public void ShowInfo()
- {
- Console.WriteLine("Уровень: " + _level);
- Console.WriteLine("Имя: " + _name);
- Console.WriteLine("Забанен ли? " + IsBanned);
- Console.WriteLine();
- }
- public void Ban()
- {
- IsBanned = true;
- }
- public void Unban()
- {
- IsBanned = false;
- }
- }
- class Database
- {
- private List<Player> _players = new List<Player>();
- public void Work()
- {
- bool isActive = true;
- while (isActive)
- {
- Console.WriteLine("1.Добавит игрока в БД\n" +
- "2.Забанить\n" +
- "3.Разбанить игрока по номеру\n" +
- "4.Удалить игрока из БД по номеру\n" +
- "5.Вывести всех игроков\n" +
- "6.Выход");
- string pointNimber = Console.ReadLine();
- Console.Clear();
- switch (pointNimber)
- {
- case "1":
- AddPlayer();
- break;
- case "2":
- Ban();
- break;
- case "3":
- Unban();
- break;
- case "4":
- DeletePlayer();
- break;
- case "5":
- ShowAllPlayers();
- break;
- case "6":
- isActive = false;
- break;
- default:
- Console.WriteLine("Такого пункта нет!");
- break;
- }
- Console.Clear();
- }
- }
- private void AddPlayer()
- {
- Console.Write("Введите уровень игрока:");
- int userLevel = 0;
- if (int.TryParse(Console.ReadLine(), out int result) == true)
- {
- userLevel = result;
- }
- else
- {
- Console.WriteLine("Ошибка!");
- }
- Console.Write("Введите имя игрока:");
- string userName = Console.ReadLine();
- Console.Write("Забанен ли этот игрок(True/False) ");
- bool userIsBanned = Convert.ToBoolean(Console.ReadLine());
- _players.Add(new Player(userLevel, userName, userIsBanned));
- }
- private void Ban()
- {
- int index;
- if (TryGetPlayerIndex(out index))
- {
- _players[index].Ban();
- }
- }
- private void Unban()
- {
- int index;
- if (TryGetPlayerIndex(out index))
- {
- _players[index].Unban();
- }
- }
- private void DeletePlayer()
- {
- int index;
- if (TryGetPlayerIndex(out index))
- {
- _players.RemoveAt(index);
- }
- }
- private void ShowAllPlayers()
- {
- for (int i = 0; i < _players.Count; i++)
- {
- Console.WriteLine("Номер: " + i);
- _players[i].ShowInfo();
- }
- Console.ReadKey();
- }
- private bool TryGetPlayerIndex(out int index)
- {
- Console.WriteLine("Введите номер игрока: ");
- string userInput = Console.ReadLine();
- if (int.TryParse(userInput, out int result) == true)
- {
- if (result >= 0 && result < _players.Count)
- {
- index = result;
- return true;
- }
- else
- {
- Console.WriteLine("Неверное число!");
- Console.ReadKey();
- index = 0;
- return false;
- }
- }
- else
- {
- Console.WriteLine("Это не число!");
- Console.ReadKey();
- index = 0;
- return false;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment