Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace CSharpLight_HomeWork___OOP___DatabasePlayers
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool working = true;
- string name;
- int level;
- DatabasePlayers database = new DatabasePlayers();
- while (working)
- {
- database.ShowDatabase();
- ShowCommand();
- switch (Console.ReadLine())
- {
- case "1":
- Console.WriteLine("Введите никнейм: ");
- name = Console.ReadLine();
- Console.WriteLine("Введите уровень персонажа: ");
- level = GetInt(Console.ReadLine());
- database.AddPlayer(new Player(name, level));
- break;
- case "2":
- WriteNumber();
- database.DeletePlayer(GetInt(Console.ReadLine())-1);
- break;
- case "3":
- WriteNumber();
- database.BanPlayer(GetInt(Console.ReadLine())-1);
- break;
- case "4":
- WriteNumber();
- database.UnbanPlayer(GetInt(Console.ReadLine())-1);
- break;
- case "5":
- working = false;
- break;
- default:
- Console.WriteLine("Неправильный номер команды!");
- break;
- }
- Console.Clear();
- }
- }
- static void ShowCommand()
- {
- Console.WriteLine("1. Добавить игрока \n2. Удалить игрока \n3. Забанить игрока \n4. Разбанить игрока \n5. Выход \nВведите номер команды: ");
- }
- static void WriteNumber()
- {
- Console.WriteLine("Введите номер игрока: ");
- }
- static int GetInt(string userValue)
- {
- int userNumber;
- while (true)
- {
- if (Int32.TryParse(userValue, out userNumber))
- {
- break;
- }
- else
- {
- Console.WriteLine("Вы ввели не число. Введите пожалуйста число: ");
- userValue = Console.ReadLine();
- }
- }
- return userNumber;
- }
- }
- class Player
- {
- private string _name;
- private int _level;
- private bool _banned;
- public Player( string name, int level)
- {
- _name = name;
- _level = level;
- _banned = false;
- }
- public void Ban()
- {
- _banned = true;
- }
- public void Unban()
- {
- _banned = false;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"{_name}, уровень {_level}. Статус: {ShowStatusBanned()}.");
- }
- private string ShowStatusBanned()
- {
- if (_banned)
- {
- return "Забанен";
- }
- else
- {
- return "Нормальный";
- }
- }
- }
- class DatabasePlayers
- {
- private List<Player> _players = new List<Player>();
- public void AddPlayer(Player player)
- {
- _players.Add(player);
- }
- public void DeletePlayer(int number)
- {
- if (CheckPlayer(number))
- {
- _players.RemoveAt(number);
- }
- }
- public void ShowDatabase()
- {
- if (_players.Count == 0)
- {
- Console.WriteLine("В базе нет игроков.\n");
- }
- else
- {
- int i = 1;
- foreach (var player in _players)
- {
- Console.Write($"{i}. ");
- player.ShowInfo();
- i++;
- }
- Console.WriteLine();
- }
- }
- public void BanPlayer(int number)
- {
- if (CheckPlayer(number))
- {
- _players[number].Ban();
- }
- }
- public void UnbanPlayer(int number)
- {
- if (CheckPlayer(number))
- {
- _players[number].Unban();
- }
- }
- private bool CheckPlayer(int number)
- {
- if (number > 0 && number < _players.Count)
- {
- return true;
- }
- else
- {
- Console.WriteLine("Такого игрока нет!");
- Console.ReadKey();
- return false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement