public static List <Matchup> GenerateMatchupByCityClub(Tournament tournament, int roundNumber) { var pairings = MatchmakerCityClubHelper.MakeMatchmaking(tournament.Players); HashSet <Player> matchedPlayers = new HashSet <Player>(); var matchups = new List <Matchup>(); foreach (var pairing in pairings) { if (!matchedPlayers.Contains(pairing.Key)) { matchups.Add(new Matchup(roundNumber, pairing.Key.Id, pairing.Value.Id, tournament.Config.GetTagsIds())); matchedPlayers.Add(pairing.Key); matchedPlayers.Add(pairing.Value); } } return(matchups); }
public static Dictionary <Player, Player> MakeMatchmaking(IList <Player> players) { var calculator = new MatchmakerCityClubHelper(players); return(calculator.CalculatePairings()); }