Advertisement
markovood

Untitled

Jun 20th, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Guild
  7. {
  8.     public class Guild
  9.     {
  10.         List<Player> roster;
  11.  
  12.         //--------------Constructors------------
  13.         public Guild(string name, int capacity)
  14.         {
  15.             this.Name = name;
  16.             this.Capacity = capacity;
  17.             roster = new List<Player>(this.Capacity);
  18.         }
  19.  
  20.         //------------Properties-------------
  21.         public string Name { get; private set; }
  22.         public int Capacity { get; private set; }
  23.  
  24.         public int Count => roster.Count;
  25.         //---------------Methods--------------
  26.         public void AddPlayer(Player player)
  27.         {
  28.             if (roster.Count < this.Capacity)
  29.             {
  30.                 roster.Add(player);
  31.             }
  32.         }
  33.         public bool RemovePlayer(string name)
  34.         {
  35.             Player player = roster.Find(x => x.Name == name);
  36.             if (player != null)
  37.             {
  38.                 roster.Remove(player);
  39.                 return true;
  40.             }
  41.             else
  42.             {
  43.                 return false;
  44.             }
  45.         }
  46.         public void PromotePlayer(string name)
  47.         {
  48.             if (roster.Find(x => x.Name == name) == null || roster.Find(x => x.Name == name).Rank == "Member")
  49.             {
  50.                 return;
  51.             }
  52.             else
  53.             {
  54.                 roster.Find(x => x.Name == name).Rank = "Member";
  55.             }
  56.         }
  57.         public void DemotePlayer(string name)
  58.         {
  59.             Player player = roster.Find(x => x.Name == name);
  60.             if (player == null || player.Rank == "Trial")
  61.             {
  62.                 return;
  63.             }
  64.             else
  65.             {
  66.                 player.Rank = "Trial";
  67.             }
  68.         }
  69.         public Player[] KickPlayersByClass(string classText)//n.b.change name old was KickPlayerByClass
  70.         {
  71.             Player[] arr;
  72.             arr = roster.Where(x => x.Class == classText).ToArray();
  73.             roster = roster.Where(x => x.Class != classText).ToList();
  74.             return arr;
  75.         }
  76.         public string Report()// n.b. use StringBuilder
  77.         {
  78.             StringBuilder sb = new StringBuilder();
  79.             sb.AppendLine($"Players in the guild: {this.Name}");//n.b. old was $"Player in the guild: {this.Name}...
  80.             sb.AppendLine($"{String.Join(Environment.NewLine, roster)}");
  81.  
  82.             return sb.ToString().Trim();
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement