private static MatchupResults AdjustResultsForNoShows(MatchupResults results, int player1Id, int player2Id) { if (player1Id == 0 && results.totalPtsPlayer1 > 2) { results.totalPtsPlayer1 = 2; } if (player2Id == 0 && results.totalPtsPlayer2 > 2) { results.totalPtsPlayer2 = 2; } return(results); }
private static MatchupResults AdjustResultsForSubs(MatchupResults results, bool player1WasSub, bool player2WasSub) { if (player1WasSub && results.totalPtsPlayer1 > 5) { results.totalPtsPlayer1 = 5; results.totalPtsPlayer2 = 4; } if (player2WasSub && results.totalPtsPlayer2 > 5) { results.totalPtsPlayer2 = 5; results.totalPtsPlayer1 = 4; } return(results); }
public static MatchupResults GetMatchupResults(List <byte> player1Scores, List <byte> player2Scores, int player1Handicap, int player2Handicap, CourseInfo courseInfo) { MatchupResults retVal = new MatchupResults(); retVal.whoWonHole = new List <int>() { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; retVal.grossScorePlayer1 = 0; retVal.grossScorePlayer2 = 0; retVal.netScorePlayer1 = 0; retVal.netScorePlayer2 = 0; retVal.totalPtsPlayer1 = 0; retVal.totalPtsPlayer2 = 0; retVal.player1Scores = player1Scores; retVal.player2Scores = player2Scores; int player1AdjustedHandicap = 0, player2AdjustedHandicap = 0; if (player1Handicap > player2Handicap) { player1AdjustedHandicap = player1Handicap - player2Handicap; player2AdjustedHandicap = 0; } else if (player1Handicap < player2Handicap) { player2AdjustedHandicap = player2Handicap - player1Handicap; player1AdjustedHandicap = 0; } List <int> player1HandicapAdjustments = GetHandicapAdjustments(courseInfo, player1AdjustedHandicap); List <int> player2HandicapAdjustments = GetHandicapAdjustments(courseInfo, player2AdjustedHandicap); for (int i = 0; i < 9; i++) { retVal.grossScorePlayer1 += player1Scores[i]; retVal.grossScorePlayer2 += player2Scores[i]; int player1Net = player1Scores[i] - player1HandicapAdjustments[i]; int player2Net = player2Scores[i] - player2HandicapAdjustments[i]; //retVal.netScorePlayer1 += player1Net; //retVal.netScorePlayer2 += player2Net; if (player1Net < player2Net) { retVal.totalPtsPlayer1 += 1; retVal.whoWonHole[i] = 1; } else if (player1Net > player2Net) { retVal.totalPtsPlayer2 += 1; retVal.whoWonHole[i] = 2; } else//must be equal { retVal.totalPtsPlayer1 += (decimal).5; retVal.totalPtsPlayer2 += (decimal).5; retVal.whoWonHole[i] = 0; } } retVal.netScorePlayer1 = retVal.grossScorePlayer1 - player1Handicap; retVal.netScorePlayer2 = retVal.grossScorePlayer2 - player2Handicap; return(retVal); }
public static void CalculateMedalPlay(out int Team1MedalPlayPts, out int Team2MedalPlayPts, MatchupResults resultsA, MatchupResults resultsB, Dictionary <string, string> LeagueSettings) { Team1MedalPlayPts = 0; Team2MedalPlayPts = 0; var Team1NoShow = false; var Team2NoShow = false; if (LeagueSettings.ContainsKey("NewScoring")) { Team1NoShow = resultsA.Team1PlayerID == 0 && resultsB.Team1PlayerID == 0; Team2NoShow = resultsA.Team2PlayerID == 0 && resultsB.Team2PlayerID == 0; } if (Team1NoShow && !Team2NoShow) { Team2MedalPlayPts = 2; } else if (!Team1NoShow && Team2NoShow) { Team1MedalPlayPts = 2; } else if ((resultsA.netScorePlayer1 + resultsB.netScorePlayer1) < (resultsA.netScorePlayer2 + resultsB.netScorePlayer2)) { Team1MedalPlayPts = 2; } else if ((resultsA.netScorePlayer1 + resultsB.netScorePlayer1) > (resultsA.netScorePlayer2 + resultsB.netScorePlayer2)) { Team2MedalPlayPts = 2; } else { Team1MedalPlayPts = 1; Team2MedalPlayPts = 1; } }