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)); }
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); }