Advertisement
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;
- namespace Guild
- {
- public class Guild
- {
- List<Player> roster;
- //--------------Constructors------------
- public Guild(string name, int capacity)
- {
- this.Name = name;
- this.Capacity = capacity;
- roster = new List<Player>(this.Capacity);
- }
- //------------Properties-------------
- public string Name { get; private set; }
- public int Capacity { get; private set; }
- public int Count => roster.Count;
- //---------------Methods--------------
- public void AddPlayer(Player player)
- {
- if (roster.Count < this.Capacity)
- {
- roster.Add(player);
- }
- }
- public bool RemovePlayer(string name)
- {
- Player player = roster.Find(x => x.Name == name);
- if (player != null)
- {
- roster.Remove(player);
- return true;
- }
- else
- {
- return false;
- }
- }
- public void PromotePlayer(string name)
- {
- if (roster.Find(x => x.Name == name) == null || roster.Find(x => x.Name == name).Rank == "Member")
- {
- return;
- }
- else
- {
- roster.Find(x => x.Name == name).Rank = "Member";
- }
- }
- public void DemotePlayer(string name)
- {
- Player player = roster.Find(x => x.Name == name);
- if (player == null || player.Rank == "Trial")
- {
- return;
- }
- else
- {
- player.Rank = "Trial";
- }
- }
- public Player[] KickPlayersByClass(string classText)//n.b.change name old was KickPlayerByClass
- {
- Player[] arr;
- arr = roster.Where(x => x.Class == classText).ToArray();
- roster = roster.Where(x => x.Class != classText).ToList();
- return arr;
- }
- public string Report()// n.b. use StringBuilder
- {
- StringBuilder sb = new StringBuilder();
- sb.AppendLine($"Players in the guild: {this.Name}");//n.b. old was $"Player in the guild: {this.Name}...
- sb.AppendLine($"{String.Join(Environment.NewLine, roster)}");
- return sb.ToString().Trim();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement