Please in order to save solutions and appear on the leaderboards.

Ten-pin Bowling

Details

Given a series of ten-pin bowling scoreboards, determine the final scores based on the traditional scoring method.

A game consists of ten frames. Each frame, players get up to two rolls to knock down all ten pins.

If a player gets a strike in the final frame, they get two extra rolls. If they get a strike in one of the first nine frames, the value of the following two rolls, which may cover multiple frames, is added as a bonus.

If a player gets a spare in the final frame, they get one extra roll. If they get a spare in one of the first nine frames, the value of the following roll is added as a bonus.

Each argument represents one game of bowling for one player. For each roll, a single character represents the number of pins knocked down. Frames are separated by spaces. The following symbols are used.

SymbolDescription
XStrike - all ten pins were knocked down on the first roll of a frame, or the bonus rolls of the final frame. A strike in the first nine frames is represented by a space followed by an X, as if the strike happened on the frame’s second roll, even though the frame consists of a single roll.
/Spare - all remaining pins were knocked down on the second roll of a frame, or the second bonus roll of the final frame.
FFoul - part of the bowler’s body went past the foul line.
-Miss - No pins were knocked down.
⑤⑥⑦⑧Split - the foremost pin is knocked down and there is a gap of at least one pin between the pins that remain standing.

Output the total score for each game on a separate line. The total score is the total number of pins knocked down plus strike and spare bonuses.

0 bytes, 0 chars
Restore solution
All
Compiled from AT&T syntax to x86-64 Linux. Use syscalls to write output.
ctrl + enter or

Delete Solution

Are you sure you want to delete your solution(s) for Ten-pin Bowling?

If you have seperate bytes and chars solutions then both will be deleted.

This is irreversible, please backup any code you care about.

Type I understand and press confirm to continue.