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); }
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); }