Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Runtime.CompilerServices;
- using System.Runtime.InteropServices.ComTypes;
- using System.Security.Cryptography.X509Certificates;
- namespace ConsoleApp1
- {
- class Program
- {
- static void Main(string[] args)
- {
- PlayersBase Players = new PlayersBase();
- bool exit = true;
- while (exit)
- {
- Console.WriteLine("Функционал базы данных:");
- Console.WriteLine("1 - добавить игрока");
- Console.WriteLine("2 - удалить игрока");
- Console.WriteLine("3 - забанить игрока");
- Console.WriteLine("4 - разбанить игрока");
- Console.WriteLine("5 - посмотреть базу");
- Console.WriteLine("6 - выйти");
- Console.Write("Введите функцию: ");
- int input = Convert.ToInt32(Console.ReadLine());
- switch (input)
- {
- case 1:
- Console.Write("Введите имя:");
- string name = Console.ReadLine();
- Console.Write("Введите уровень:");
- int level = Convert.ToInt32(Console.ReadLine());
- Players.AddPlayer(new Player(name, level, true));
- break;
- case 2:
- Console.Write("Введите порядковый номер игрока - ");
- Players.RemovePlayer(Convert.ToInt32(Console.ReadLine()));
- break;
- case 3:
- Console.Write("Введите порядковый номер игрока - ");
- Players.BannedPlayer(Convert.ToInt32(Console.ReadLine()));
- break;
- case 4:
- Console.Write("Введите порядковый номер игрока - ");
- Players.UnbannedPlayer(Convert.ToInt32(Console.ReadLine()));
- break;
- case 5:
- Players.ShowInfo();
- break;
- case 6:
- exit = false;
- break;
- default:
- Console.WriteLine("Вы ввели неправельную функцию. Пожалуйста, повторите попытку.");
- break;
- }
- Console.ReadLine();
- Console.Clear();
- }
- }
- }
- class Player
- {
- public string name { get; private set; }
- private int _level;
- private bool _isBanned;
- public Player(string name, int level, bool isBanned)
- {
- this.name = name;
- _isBanned = isBanned;
- Level = level;
- }
- public int Level
- {
- get
- {
- return _level;
- }
- private set
- {
- if (value > 0)
- _level = value;
- }
- }
- }
- class PlayersBase
- {
- private List<Player> _players = new List<Player>();
- private List<int> _bannedList = new List<int>();
- public void AddPlayer(Player player)
- {
- _players.Add(player);
- }
- public void RemovePlayer(int number)
- {
- _players.RemoveAt(number - 1);
- for(int j = 0; j < _bannedList.Count; j++)
- {
- if (number == _bannedList[j])
- _bannedList.RemoveAt(j);
- }
- }
- public void BannedPlayer(int number)
- {
- _bannedList.Add(number - 1);
- }
- public void UnbannedPlayer(int number)
- {
- _bannedList.Remove(number - 1);
- }
- public void ShowInfo()
- {
- for (int i = 0; i < _players.Count; i++)
- {
- string isBanned = "не забанен";
- for (int j = 0; j < _bannedList.Count; j++)
- {
- if (i == _bannedList[j])
- isBanned = "забанен";
- }
- Console.WriteLine($"База данных игрока: [{i + 1}]{_players[i].name}\nУровень - {_players[i].Level}\nФлаг - {isBanned}.");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement