Advertisement
Vlad_Savitskiy

PlayersDataBase

Apr 22nd, 2020
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.79 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace CSLight
  5. {
  6.     class PlayersDataBase
  7.     {
  8.         private List<Player> _players;
  9.  
  10.         public PlayersDataBase(List<Player> players)
  11.         {
  12.             _players = players;
  13.         }
  14.  
  15.         public void AddPlayer(Player newPlayer)
  16.         {
  17.             _players.Add(newPlayer);
  18.         }
  19.  
  20.         public void DeletePlayer(Player player)
  21.         {
  22.             _players.Remove(player);
  23.         }
  24.  
  25.         public void DeletePlayer(string name)
  26.         {
  27.             int index = _players.FindIndex(pl =>
  28.                 string.Equals(pl.Name, name, StringComparison.CurrentCultureIgnoreCase));
  29.             if (index == -1)
  30.                 throw new ArgumentException("Неверное имя игрока");
  31.             _players.RemoveAt(index);
  32.         }
  33.  
  34.         public void GiveBan(int playerNumber)
  35.         {
  36.             Player player = _players.Find(pl => pl.Number == playerNumber);
  37.             player.GiveBan();
  38.         }
  39.  
  40.         public void CancelBan(int playerNumber)
  41.         {
  42.             Player player = _players.Find(pl => pl.Number == playerNumber);
  43.             player.CancelBan();
  44.         }
  45.     }
  46.  
  47.     class Player
  48.     {
  49.         private static int _ids;
  50.  
  51.         public int Number { get; }
  52.         public string Name { get; }
  53.         public int Level { get; private set; }
  54.         public bool HasBan { get; private set; }
  55.  
  56.         public Player(string name, int level = 1, bool hasBan = false)
  57.         {
  58.             Number = ++_ids;
  59.             Name = name;
  60.             Level = level;
  61.             HasBan = hasBan;
  62.         }
  63.  
  64.         public void GiveBan()
  65.         {
  66.             HasBan = true;
  67.         }
  68.  
  69.         public void CancelBan()
  70.         {
  71.             HasBan = false;
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement