Example #1
0
        internal override bool HasCompletedTeamBonus(PublicBoard board)
        {
            Dictionary <Restaurant, int> majorities = new Dictionary <Restaurant, int>();

            foreach (Restaurant restaurant in Extensions.Restaurants)
            {
                majorities.Add(restaurant, 0);
            }
            foreach (DayOfWeek day in Extensions.Weekdays)
            {
                if (board.HasMajority(day))
                {
                    majorities[board.RestaurantWithMajority(day).Value]++;
                }
            }
            return(majorities.Values.All(x => x <= 1));
        }
Example #2
0
        internal override bool HasCompletedForPlayer(PlayerBase player, PublicBoard board)
        {
            int majorities       = 0;
            int playerInMajority = 0;

            foreach (DayOfWeek day in Extensions.Weekdays)
            {
                if (board.HasMajority(day))
                {
                    majorities++;
                    if (board.IsPlayerInMajority(day, player))
                    {
                        playerInMajority++;
                    }
                }
            }
            return(majorities - playerInMajority <= 1);
        }