コード例 #1
0
        public List<ScoringResultModel> ScoreMatchup(IEnumerable<int> pars, List<int> player1Round, List<int> player2Round, int player1Handicap, int player2Handicap)
        {
            var result1 = new ScoringResultModel() { Points = 0.0, Birdies = 0, Pars = 0, Bogeys = 0, Eagles = 0};
            var result2 = new ScoringResultModel() { Points = 0.0, Birdies = 0, Pars = 0, Bogeys = 0, Eagles = 0 };
            List<ScoringResultModel> results = new List<ScoringResultModel>();
            results.Add(result1);
            results.Add(result2);

            results[0].Points += determineRoundPoints(pars, player1Round, result1);
            results[1].Points += determineRoundPoints(pars, player2Round, result2);

            results[0].Points += determineAttendancePoints(player1Round);
            results[1].Points += determineAttendancePoints(player2Round);

            List<double> matchupPoints = determineMatchupPoints(player1Round, player2Round, player1Handicap, player2Handicap);
            results[0].Points += matchupPoints[0];
            results[1].Points += matchupPoints[1];

            return results;
        }
コード例 #2
0
 private double determineRoundPoints(IEnumerable<int> pars, List<int> roundScores, ScoringResultModel resultObj)
 {
     double points = 0.0;
     for(int i=0; i < roundScores.Count(); i++)
     {
         var diff = pars.ElementAt(i) - roundScores[i];
         if (diff == 0) { points += 1.0; resultObj.Pars++; }
         if (diff == 1) { points += 3.0; resultObj.Birdies++; }
         if (diff == -1) { points += 0.5; resultObj.Bogeys++; }
         if (diff == 2) { points += 5.0; resultObj.Eagles++; }
     }
     return points;
 }