public DuellingEloCalculator(TwoPlayerEloCalculator twoPlayerEloCalculator) : base(SupportedOptions.None, TeamsRange.AtLeast(2), PlayersRange.AtLeast(1)) { _TwoPlayerEloCalc = twoPlayerEloCalculator; }
protected TwoPlayerEloCalculator(KFactor kFactor) : base(SupportedOptions.None, TeamsRange.Exactly(2), PlayersRange.Exactly(1)) { _KFactor = kFactor; }
private static void ValidateTeamCountAndPlayersCountPerTeam <TPlayer>( IEnumerable <IDictionary <TPlayer, Rating> > teams, TeamsRange totalTeams, PlayersRange playersPerTeam) { int countOfTeams = 0; foreach (var currentTeam in teams) { if (!playersPerTeam.IsInRange(currentTeam.Count)) { throw new ArgumentException(); } countOfTeams++; } if (!totalTeams.IsInRange(countOfTeams)) { throw new ArgumentException(); } }
public FactorGraphTrueSkillCalculator() : base(SupportedOptions.PartialPlay | SupportedOptions.PartialUpdate, TeamsRange.AtLeast(2), PlayersRange.AtLeast(1)) { }
protected SkillCalculator(SupportedOptions supportedOptions, TeamsRange totalTeamsAllowed, PlayersRange playerPerTeamAllowed) { _SupportedOptions = supportedOptions; _TotalTeamsAllowed = totalTeamsAllowed; _PlayersPerTeamAllowed = playerPerTeamAllowed; }