-
-
Save talatari/899efe373427c53531d39a208427a0cf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
DataBase dataBase = new DataBase(); | |
dataBase.Work(); | |
} | |
} | |
class Player | |
{ | |
private int _uniqueCode; | |
private string _name; | |
private int _level; | |
private bool _banFlag; | |
public int UniqueCode { get; private set; } | |
public string Name { get; private set; } | |
public int Level { get; private set; } | |
public bool BanFlag { get; private set; } | |
public Player(int uniqueCode, string name, int level, bool banFlag) | |
{ | |
_uniqueCode = uniqueCode; | |
_name = name; | |
_level = level; | |
_banFlag = banFlag; | |
} | |
public void ChangeBanStatusTrue(List<Player> listOfPlayers, int index) | |
{ | |
listOfPlayers[index].BanFlag = true; | |
} | |
public void ChangeBanStatusFalse(List<Player> listOfPlayers, int index) | |
{ | |
listOfPlayers[index].BanFlag = true; | |
} | |
} | |
class DataBase | |
{ | |
private List<Player> _players = new List<Player>(); | |
public List<Player> Players { get; private set; } | |
public void Work() | |
{ | |
const string CommandAdd = "1"; | |
const string CommandBan = "2"; | |
const string CommandUnban = "3"; | |
const string CommandDeletePlayer = "4"; | |
const string Exit = "5"; | |
string userChoice; | |
bool isWorking = true; | |
while (isWorking == true) | |
{ | |
for (int i = 0; i < _players.Count; i++) | |
{ | |
Console.WriteLine($"Игрок 1. Уникальный код: {_players[i].UniqueCode} Имя: {_players[i].Name} Уровень: {_players[i].Level} Состояние бана: {_players[i].BanFlag}"); | |
} | |
Console.WriteLine($"{CommandAdd} - добавить игрока\n{CommandBan} - бан игрока по уникальному номеру\n{CommandUnban} - разбанить игрока по уникальному номеру\n{CommandDeletePlayer} - удалить игрока по уникальному номеру \n{Exit} - выход"); | |
userChoice = Console.ReadLine(); | |
switch (userChoice) | |
{ | |
case CommandAdd: | |
AddPlayer(); | |
Console.Clear(); | |
break; | |
case CommandBan: | |
BanPlayer(); | |
break; | |
case CommandUnban: | |
UnbanPlayer(); | |
break; | |
case CommandDeletePlayer: | |
DeletePlayer(); | |
break; | |
case Exit: | |
isWorking = false; | |
break; | |
} | |
} | |
} | |
public void AddPlayer() | |
{ | |
Console.Clear(); | |
Random random = new Random(); | |
int uniqueCode = random.Next(0, 100); | |
Console.WriteLine("Введите ваш ник:"); | |
string name = Console.ReadLine(); | |
Console.WriteLine("Введите ваш уровень:"); | |
int level = Convert.ToInt32(Console.ReadLine()); | |
bool banFlag = false; | |
Player player = new Player(uniqueCode, name, level, banFlag); | |
_players.Add(player); | |
} | |
public void BanPlayer() | |
{ | |
Console.WriteLine("Введите уникальный номер игрока:"); | |
int uniqueCode = Convert.ToInt32(Console.ReadLine()); | |
for (int i = 0; i < Players.Count; i++) | |
{ | |
if (uniqueCode == Players[i].UniqueCode) | |
{ | |
if (Players[i].BanFlag == false) | |
{ | |
Console.WriteLine($"Игрок {Players[i].Name} забанен "); | |
Players[i].ChangeBanStatusTrue(Players, i); | |
} | |
} | |
else | |
{ | |
Console.WriteLine($"Игрок с данным номером не найден"); | |
} | |
} | |
} | |
public void UnbanPlayer() | |
{ | |
Console.WriteLine("Введите уникальный номер игрока:"); | |
int uniqueCode = Convert.ToInt32(Console.ReadLine()); | |
for (int i = 0; i < Players.Count; i++) | |
{ | |
if (uniqueCode == Players[i].UniqueCode) | |
{ | |
if (Players[i].BanFlag == true) | |
{ | |
Console.WriteLine($"Игрок {Players[i].Name} разбанен"); | |
Players[i].ChangeBanStatusFalse(Players, i); | |
} | |
else | |
{ | |
Console.WriteLine($"Игрок с данным номером не найден"); | |
} | |
} | |
} | |
} | |
public void DeletePlayer() | |
{ | |
Console.WriteLine("Введите уникальный номер игрока:"); | |
int uniqueCode = Convert.ToInt32(Console.ReadLine()); | |
for (int i = 0; i < Players.Count; i++) | |
{ | |
if (uniqueCode == Players[i].UniqueCode) | |
{ | |
Console.WriteLine($"Игрок {Players[i].Name} удалён"); | |
Players.RemoveAt(i); | |
} | |
else | |
{ | |
Console.WriteLine("Игрок с данным номером не найден"); | |
} | |
} | |
} | |
public void FindPlayerWithUniqueCode() | |
{ | |
Console.WriteLine("Введите уникальный номер игрока:"); | |
int uniqueCode = Convert.ToInt32(Console.ReadLine()); | |
for (int i = 0; i < Players.Count; i++) | |
{ | |
if (uniqueCode == Players[i].UniqueCode) | |
{ | |
//Console.WriteLine($"Игрок {Players[i].Name}"); | |
//function() | |
} | |
else | |
{ | |
Console.WriteLine("Игрок с данным номером не найден"); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment