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
- {
- private List<Player> roster;
- public Guild(string name, int capacity)
- {
- Name = name;
- Capacity = capacity;
- roster = new List<Player>();
- }
- public string Name { get; set; }
- public int Capacity { get; set; }
- public int Count => roster.Count;
- public void AddPlayer(Player player)
- {
- if (roster.Count <= Capacity)
- {
- roster.Add(player);
- }
- }
- public bool RemovePlayer(string name)
- {
- var findPlayer = roster.FirstOrDefault(x => x.Name == name);
- if (findPlayer != null)
- {
- roster.Remove(findPlayer);
- return true;
- }
- return false;
- }
- public void PromotePlayer(string name)
- {
- var findPlayer = roster.FirstOrDefault(x => x.Name == name);
- if (findPlayer.Rank != "Member" && findPlayer != null)
- {
- findPlayer.Rank = "Member";
- }
- }
- public void DemotePlayer(string name)
- {
- var findPlayer = roster.FirstOrDefault(x => x.Name == name);
- if (findPlayer.Rank != "Trial" && findPlayer != null)
- {
- findPlayer.Rank = "Trial";
- }
- }
- public Player[] KickPlayersByClass(string @class)
- {
- var array = new List<Player>();
- foreach (var player in roster)
- {
- if (player.Class == @class)
- {
- array.Add(player);
- }
- }
- roster.RemoveAll(x => x.Class == @class);
- return array.ToArray();
- }
- public string Report()
- {
- StringBuilder builder = new StringBuilder();
- builder.AppendLine($"Players in the guild: {Name}");
- foreach (var player in roster)
- {
- builder.AppendLine(player.ToString());
- }
- return builder.ToString().TrimEnd();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement