Hi,
The rules state that:
A strike is where all ten pins are knocked down by the first throw.
The total value of a strike is 10 plus the number of pins knocked down in the next two throws.
If a strike is immediately followed by a second strike, then the value of the first strike cannot be determined until the ball is thrown one more time.
The tenth frame in the game is a special case. If someone throws a spare or a strike then they get one or two fill balls respectively. Fill balls exist to calculate the total of the 10th frame. Scoring a strike or spare on the fill ball does not give the player more fill balls. The total value of the 10th frame is the total number of pins knocked down.
So these are the rules. Then there’s a test that I do not understand.
/**
* uuid 576faac1-7cff-4029-ad72-c16bcada79b5
* @testdox strikes with the two roll bonus do not get bonus rolls
*/
public function testRollingASpareWithTheTwoRollBonusDoesNotGetABonusRoll(): void
{
$this->rollMany(18, 0);
$this->game->roll(10);
$this->game->roll(10);
$this->game->roll(10);
$this->assertEquals(30, $this->game->score());
}
First, the 19the frame is not a spare but a strike. Since it is not the last frame, the tenth frame of the second game, 10 + the next two throws should be counted. (right?). 10+10+10. Then we have the 20th frame and a strike gets two fill throws. 10 + 10 + ? . That’s how I understand the rules but the test suggests otherwise. So total 50 + another fill throw.
But, as soon as I posted this, I just knew I had overlooked something. This may be it:
If a strike is immediately followed by a second strike, then the value of the first strike cannot be determined until the ball is thrown one more time.
Does that mean that the maximum points you can win in a frame is 30? Two strikes can only be followed by one more throw, a strike or not.
Three strikes in a row is always 30, whether it is a tenth frame or not.
I’ve just updated this post and copied the test again. In the comments the word ‘strike’ is used and in the test I see the word ‘spare’.
testdox strikes with the two roll bonus do not get bonus rolls : does this refer to the idea that the maximum score is 30 and there’s a mistake in the function name of the test?
I see a lot of posts, it makes my head spin and I’m not getting it.
Thank you and greetings,
Karin