public int Score() { int frameIndex = 0; var frames = new List<Frame>(); for (int frame = 0; frame < 10; frame++) { var currentFrame = new Frame(frameIndex, rolls); frames.Add(currentFrame); if (currentFrame.IsStrike()) { frameIndex++; } else if (currentFrame.IsSpare()) { frameIndex += 2; } else { frameIndex += 2; } } int score = 0; foreach (var currentFrame in frames) { score += currentFrame.GetScore(); } return score; }
public int Score() { int frameIndex = 0; var frames = new List <Frame>(); for (int frame = 0; frame < 10; frame++) { var currentFrame = new Frame(frameIndex, rolls); frames.Add(currentFrame); if (currentFrame.IsStrike()) { frameIndex++; } else if (currentFrame.IsSpare()) { frameIndex += 2; } else { frameIndex += 2; } } int score = 0; foreach (var currentFrame in frames) { score += currentFrame.GetScore(); } return(score); }
private int CalculateStrikeBonus() { Frame nextFrame = GetNextFrame(); if (nextFrame.IsStrike()) { Frame secondNextFrame = nextFrame.GetNextFrame(); return(nextFrame.GetFirstRoll() + secondNextFrame.GetFirstRoll()); } return(nextFrame.Pins); }