コード例 #1
0
 public DuellingEloCalculator(TwoPlayerEloCalculator twoPlayerEloCalculator)
     : base(SupportedOptions.None, TeamsRange.AtLeast(2), PlayersRange.AtLeast(1))
 {
     _TwoPlayerEloCalc = twoPlayerEloCalculator;
 }
コード例 #2
0
 protected TwoPlayerEloCalculator(KFactor kFactor)
     : base(SupportedOptions.None, TeamsRange.Exactly(2), PlayersRange.Exactly(1))
 {
     _KFactor = kFactor;
 }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
 public FactorGraphTrueSkillCalculator()
     : base(SupportedOptions.PartialPlay | SupportedOptions.PartialUpdate, TeamsRange.AtLeast(2), PlayersRange.AtLeast(1))
 {
 }
コード例 #5
0
 protected SkillCalculator(SupportedOptions supportedOptions, TeamsRange totalTeamsAllowed, PlayersRange playerPerTeamAllowed)
 {
     _SupportedOptions      = supportedOptions;
     _TotalTeamsAllowed     = totalTeamsAllowed;
     _PlayersPerTeamAllowed = playerPerTeamAllowed;
 }