protected override int CalculateScore() { if (IsSpare()) { return(SpareBasePunctuation + ThirdRoll.Value()); } return(FirstRoll.Value() + SecondRoll.Value() + ThirdRoll.Value()); }
protected virtual int CalculateScore() { if (IsStrike()) { return(StrikeBasePunctuation + TwoNextRollsPins()); } if (IsSpare()) { return(SpareBasePunctuation + NextRollPins()); } return(FirstRoll.Value() + SecondRoll.Value()); }