For this project you will use the following requirements to:
• Use ATDD and Gherkin to develop a set of Acceptance criteria for each feature and scenario you identify.
• You will then use TDD to implement the scenarios as unit tests and make those tests pass.
• You must have a working application when you are done.
• Your last step will be to create a class with a ‘main” method to execute all of the application code you created to demonstrate the working module.
• You will submit:
o your feature file with your Gherkin scenarios
o your Junit test case your created through TDD
o your application code created through TDD
• You will create a bowling game.
• The program will ask the user to play 10 frames.
• Each frame the user will tell the game to roll.
• The game will tell the user what they got on their roll.
• The game consists of 10 frames as shown below.
• In each frame the player has two opportunities to knock down 10 pins. The score for the frame is the total number of pins knocked down, plus bonuses for strikes and spares.
• A spare is when the player knocks down all 10 pins in two tries. The bonus for that frame is the number of pins knocked down by the next roll.
o So in frame 3 above, the score is 10 (the total number knocked down) plus a bonus of 5 (the number of pins knocked down on the next roll.)
• A strike is when the player knocks down all 10 pins on his first try. The bonus for that frame is the value of the next two balls rolled.
• In the tenth frame a player who rolls a spare or strike is allowed to roll the extra balls to complete the frame. However no more than three balls can be rolled in tenth frame.