/// <summary> /// Returns true if at least one other player in a multiplayer game has no more than 1 occupations /// in play. Returns true if the only player has at most 1 occupation in play in a single player game. /// </summary> /// <param name="player"></param> /// <returns></returns> public override bool IsMet(AgricolaPlayer player) { foreach (var p in ((AgricolaGame)player.Game).AgricolaPlayers) { if ((player != p || (player == p && player.Game.Players.Length == 1)) && Curator.GetOwnedOccupationCount(p) < 2) { return(true); } } return(false); }
/// <summary> /// Returns points if the card owner has the most occupations /// </summary> /// <param name="player"></param> /// <param name="title"></param> /// <returns></returns> public override int GetPoints(AgricolaPlayer player, out string title) { var players = ((AgricolaGame)player.Game).AgricolaPlayers; var mostPlayedOccupations = 0; foreach (var p in players) { var playedOccupations = Curator.GetOwnedOccupationCount(p); if (playedOccupations > mostPlayedOccupations) { mostPlayedOccupations = playedOccupations; } } title = "Most Occupations"; if (Curator.GetOwnedOccupationCount(player) == mostPlayedOccupations) { return(points); } return(0); }
public override bool IsMet(AgricolaPlayer player) { var owned = Curator.GetOwnedOccupationCount(player); return owned >= Count; }