예제 #1
0
 public NormalFrameScore(IConvertedFrame convertedFrame)
 {
     BowlOneScore = convertedFrame.Frame[0];
     BowlTwoScore = convertedFrame.Frame[1];
     FrameType    = FrameType.Normal;
     OverallScore = convertedFrame.Frame[0] + convertedFrame.Frame[1];
 }
예제 #2
0
        public MissFrameScore(IConvertedFrame convertedFrame)
        {
            var bowlOne = convertedFrame.Frame[0];
            var bowlTwo = convertedFrame.Frame[1];

            if (bowlOne.Equals(0) && bowlTwo.Equals(0))
            {
                BowlOneScore = (int)Scores.Miss;
                BowlTwoScore = (int)Scores.Miss;
                FrameType    = FrameType.Miss;
                OverallScore = BowlOneScore + BowlTwoScore;
                return;
            }
            if (bowlOne.Equals(0))
            {
                BowlOneScore = (int)Scores.Miss;
                BowlTwoScore = bowlTwo;
                FrameType    = FrameType.Miss;
                OverallScore = BowlOneScore + BowlTwoScore;
                return;
            }
            if (bowlTwo.Equals(0))
            {
                BowlOneScore = bowlOne;
                BowlTwoScore = (int)Scores.Miss;
                FrameType    = FrameType.Miss;
                OverallScore = BowlOneScore + BowlTwoScore;
            }
        }
 public SpareFrameScore(IConvertedFrame convertedFrame)
 {
     BowlOneScore = convertedFrame.Frame[0];
     BowlTwoScore = convertedFrame.Frame[1];
     FrameType    = FrameType.Spare;
     OverallScore = 10;
 }
예제 #4
0
        private Frame GetFrameResult(IConvertedFrame convertedFrame)
        {
            switch (convertedFrame.FrameResults)
            {
            case FrameType.Miss:
                return(new MissFrameScore(convertedFrame));

            case FrameType.Spare:
                return(new SpareFrameScore(convertedFrame));

            case FrameType.Strike:
                return(new StrikeFrameScore());
            }
            return(new NormalFrameScore(convertedFrame));
        }
예제 #5
0
 public Frame GenerateFrame(IConvertedFrame frameScores)
 {
     return(GetFrameResult(frameScores));
 }