Exemple #1
0
        private static void AddSpare()
        {
            var secondRoll = SecondRoll();

            secondRoll.NextRoll     = BuildRoll.From(RawLine[Index + 2]);
            secondRoll.KnockedPins -= FirstRoll().KnockedPins;
            Line.AddFrame(new SpareFrame(FirstRoll(), secondRoll));
        }
Exemple #2
0
        private static void AddStrike()
        {
            var firstRoll = FirstRoll();

            firstRoll.NextRoll          = BuildRoll.From(RawLine[Index + 1]);
            firstRoll.NextRoll.NextRoll = BuildRoll.From(RawLine[Index + 2]);
            Line.AddFrame(new StrikeFrame(firstRoll));
            Index -= 1;
        }
Exemple #3
0
 private static bool ThereIsAStrikeInTheLastFrame()
 {
     return(BuildRoll.From(RawLine[Index + 1]).KnockedPins == 10 && Index + 4 == RawLine.Length);
 }
Exemple #4
0
 private static Roll SecondRoll() => BuildRoll.From(RawLine[Index + 1]);
Exemple #5
0
 private static Roll FirstRoll() => BuildRoll.From(RawLine[Index]);