// Find a monopoly that does not have a hotel on it (but does have a house). public static List <Card> FindMonopolyWithoutHotel(Player player) { List <List <Card> > monopolies = ClientUtilities.FindMonopolies(player); foreach (List <Card> monopoly in monopolies) { if (ClientUtilities.IsCardInCardList("House", monopoly) && !ClientUtilities.IsCardInCardList("Hotel", monopoly)) { return(monopoly); } } return(null); }
// Return a list of all the card groups in the player's CardsInPlay that are monopolies. public static List <List <Card> > FindMonopolies(Player player) { List <List <Card> > monopolies = new List <List <Card> >(); // Iterate through the card lists. Always skip the first one, since it is reserved for money. for (int i = 1; i < player.CardsInPlay.Count; ++i) { if (ClientUtilities.IsCardListMonopoly(player.CardsInPlay[i])) { monopolies.Add(player.CardsInPlay[i]); } } return(monopolies); }