Beispiel #1
0
 private FrameState(IPinsDown pinsDown, int score, int pinsIndex, IScoreStrategy scoreStrategy)
 {
     _pinsDown      = pinsDown;
     _score         = score;
     _pinsIndex     = pinsIndex;
     _scoreStrategy = scoreStrategy;
 }
Beispiel #2
0
 public IFrameUpdate Select(IPinsDown pinsDown, int pinsIndex)
 {
     if (!_frameType.IsType(pinsDown, pinsIndex))
     {
         return(_next.Select(pinsDown, pinsIndex));
     }
     return(new FrameUpdate(new SpareScore(), new SpareIndexAdjustment()));
 }
 public bool IsType(IPinsDown pinsDown, int pinsIndex) => pinsDown.PinsDownAt(pinsIndex) == 10;
Beispiel #4
0
 public IFrameUpdate Select(IPinsDown pinsDown, int pinsIndex) => new FrameUpdate(new DefaultScore(), new DefaultIndexAdjustment());
 public Game(IPinsDown pinsDown) => _pinsDown = pinsDown;
Beispiel #6
0
 public FrameState(IPinsDown pinsDown, int score, int pinsIndex)
     : this(pinsDown, score, pinsIndex, new ScoreStrategy())
 {
 }
Beispiel #7
0
 public int Score(IPinsDown pinsDown, int pinsIndex) => _typeScore.Score(pinsDown, pinsIndex);
 public int Score(IPinsDown pinsDown, int pinsIndex) => 10 + pinsDown.PinsDownAt(pinsIndex + 1) + pinsDown.PinsDownAt(pinsIndex + 2);