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 Tasks
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool exit = true;
- DataBase dataBase = new DataBase(new Player[] { new Player(1, 5, "Penetrator228", false), new Player(2, 10, "CaseyRayback", false), new Player(3, 8, "Jora007", true) });
- while (exit)
- {
- dataBase.ShowAllPlayersInfo();
- Console.WriteLine(" ");
- Console.WriteLine("\nЧто вы хотите сделать?");
- Console.WriteLine("1 - добавить игрока.");
- Console.WriteLine("2 - забанить игрока.");
- Console.WriteLine("3 - разбанить игрока.");
- Console.WriteLine("4 - удалить игрока.");
- Console.WriteLine("5 - выход.");
- int adminInput = Convert.ToInt32(Console.ReadLine());
- switch (adminInput)
- {
- case 1:
- dataBase.AddPlayer();
- break;
- case 2:
- dataBase.BanPlayer();
- break;
- case 3:
- dataBase.UnbanPlayer();
- break;
- case 4:
- dataBase.DeletePlayer();
- break;
- case 5:
- exit = false;
- break;
- }
- Console.Clear();
- }
- }
- }
- class Player
- {
- public int SerialNumber { get; set; }
- public int Level { get; private set; }
- public string Nickname { get; private set; }
- public bool Banned { get; set; }
- public Player(int serialNumber, int level, string nickName, bool banned)
- {
- SerialNumber = serialNumber;
- Level = level;
- Nickname = nickName;
- Banned = banned;
- }
- public void ShowPlayerInfo()
- {
- Console.Write(SerialNumber + " " + Nickname + " " + "Уровень: " + Level);
- if (Banned == true)
- {
- Console.Write(" Забанен");
- }
- else
- {
- Console.Write(" Не забанен");
- }
- }
- }
- class DataBase
- {
- private Player[] _players;
- public DataBase(Player[] players)
- {
- _players = players;
- }
- public void ShowAllPlayersInfo()
- {
- Console.WriteLine("Список игроков: ");
- Console.WriteLine(" ");
- for (int i = 0; i < _players.Length; i++)
- {
- Console.WriteLine(" ");
- _players[i].ShowPlayerInfo();
- }
- }
- public void AddPlayer()
- {
- Array.Resize(ref _players, _players.Length + 1);
- int newSerialNumber = _players.Length;
- int newLevel = 1;
- Console.WriteLine("Введите никнейм нового игрока: ");
- string newNickname = Console.ReadLine();
- bool newBanned = false;
- _players[_players.Length - 1] = new Player(newSerialNumber, newLevel, newNickname, newBanned);
- }
- public void BanPlayer()
- {
- Console.WriteLine("Введите порядковый номер игрока, которого хотите забанить: ");
- int playerForBan = Convert.ToInt32(Console.ReadLine());
- if (_players[playerForBan - 1].Banned == true)
- {
- Console.WriteLine("Этот игрок уже забанен.");
- }
- else
- {
- _players[playerForBan - 1].Banned = true;
- Console.WriteLine("Готово, впаяли ему бан по самые помидоры.");
- }
- }
- public void UnbanPlayer()
- {
- Console.WriteLine("Введите порядковый номер игрока, которого хотите разбанить: ");
- int playerForBan = Convert.ToInt32(Console.ReadLine());
- if (_players[playerForBan - 1].Banned == false)
- {
- Console.WriteLine("Этот игрок не забанен.");
- Console.WriteLine("Нажмите любую кнопку для продолжения.");
- Console.ReadKey();
- }
- else
- {
- _players[playerForBan - 1].Banned = false;
- Console.WriteLine("Вы разбанили " + _players[playerForBan - 1].Nickname);
- Console.WriteLine("Нажмите любую кнопку для продолжения.");
- Console.ReadKey();
- }
- }
- public void DeletePlayer()
- {
- Console.WriteLine("Введите порядковый номер удаляемого игрока: ");
- int removablePlayerSerialNumber = Convert.ToInt32(Console.ReadLine());
- if (removablePlayerSerialNumber < 1 || removablePlayerSerialNumber > _players.Length)
- {
- Console.WriteLine("Игрока с таким порядковым номером не существует!");
- }
- else
- {
- Player[] newPlayers = new Player[_players.Length - 1];
- for (int i = 0; i < _players.Length; i++)
- {
- if (i < (removablePlayerSerialNumber - 1))
- {
- newPlayers[i] = _players[i];
- }
- else if (i > (removablePlayerSerialNumber - 1))
- {
- newPlayers[i - 1] = _players[i];
- newPlayers[i - 1].SerialNumber-= 1;
- }
- }
- _players = newPlayers;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment