Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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;
        }
    }