예제 #1
0
        private Linescore GetRandomLineScore(int numberOfEnds, int numberOfPlayedEnds)
        {
            var  linescore   = new Linescore(numberOfEnds);
            var  rand        = new Random();
            int  team1Score  = 0;
            int  team2Score  = 0;
            bool team1Hammer = (rand.Next() % 2 == 0);

            for (var endNumber = 1; endNumber <= numberOfPlayedEnds; endNumber++)
            {
                if (team1Score > 0)
                {
                    team1Hammer = false;
                }
                else if (team2Score > 0)
                {
                    team1Hammer = true;
                }

                team1Score = 0;
                team2Score = 0;
                if (rand.Next() % 2 == 0)
                {
                    team1Score = GetRandomScore();
                }
                else
                {
                    team2Score = GetRandomScore();
                }
                linescore.AddEnd(new End(team1Score, team2Score, team1Hammer, endNumber, true));
            }
            return(linescore);
        }
예제 #2
0
        private static Linescore GetLinescore(Api.GameObject apiGame)
        {
            int numberOfEnds = 10;

            int.TryParse(apiGame.numberOfEnds, out numberOfEnds);

            int lastPlayedEnd = 10;

            int.TryParse(apiGame.lastPlayedEnd, out lastPlayedEnd);

            Linescore linescore   = new Linescore(numberOfEnds);
            bool      team1Hammer = apiGame.homeHammer;

            for (var endNumber = 1; endNumber <= numberOfEnds + 1 && (endNumber - 1) < apiGame.homeScores.Count; endNumber++)
            {
                int team1Score = Utility.ParseIntWithDefault(apiGame.homeScores[endNumber - 1], 0);
                int team2Score = Utility.ParseIntWithDefault(apiGame.awayScores[endNumber - 1], 0);
                if (team1Score > 0 && team2Score > 0)
                {
                    Program.Logger.Log("Found end where both teams score.  Arbitrarily setting team 2's score to 0.");
                    team2Score = 0;
                }
                var end = new End(
                    team1Score,
                    team2Score,
                    team1Hammer,
                    endNumber,
                    (endNumber <= lastPlayedEnd)
                    );
                linescore.AddEnd(end);

                if (team1Score > 0)
                {
                    team1Hammer = false;
                }
                else if (team2Score > 0)
                {
                    team1Hammer = true;
                }
            }
            return(linescore);
        }