tracks/php/exercises/bowling/README.md in trackler-2.2.1.103 vs tracks/php/exercises/bowling/README.md in trackler-2.2.1.104

- old
+ new

@@ -1,22 +1,32 @@ # Bowling Score a bowling game. -Bowling is game where players roll a heavy ball to knock down pins +Bowling is a game where players roll a heavy ball to knock down pins arranged in a triangle. Write code to keep track of the score of a game of bowling. ## Scoring Bowling -The game consists of 10 frames. A frame is composed of one or two ball throws with 10 pins standing at frame initialization. There are three cases for the tabulation of a frame. +The game consists of 10 frames. A frame is composed of one or two ball +throws with 10 pins standing at frame initialization. There are three +cases for the tabulation of a frame. -* An open frame is where a score of less than 10 is recorded for the frame. In this case the score for the frame is the number of pins knocked down. +* An open frame is where a score of less than 10 is recorded for the + frame. In this case the score for the frame is the number of pins + knocked down. -* A spare is where all ten pins are knocked down after the second throw. The total value of a spare is 10 plus the number of pins knocked down in their next throw. +* A spare is where all ten pins are knocked down by the second + throw. The total value of a spare is 10 plus the number of pins + knocked down in their next throw. -* A strike is where all ten pins are knocked down after the first throw. The total value of a strike is 10 plus the number of pins knocked down in their next two throws. If a strike is immediately followed by a second strike, then we can not total the value of first strike until they throw the ball one more time. +* 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. Here is a three frame example: | Frame 1 | Frame 2 | Frame 3 | | :-------------: |:-------------:| :---------------------:| @@ -28,11 +38,15 @@ Frame 3 is (9 + 0) = 9 This means the current running total is 48. -The tenth frame in the game is a special case. If someone throws a strike or a spare then they get a fill ball. 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. +The tenth frame in the game is a special case. If someone throws a +strike or a spare then they get a fill ball. 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. For a tenth frame of X1/ (strike and a spare), the total value is 20. For a tenth frame of XXX (three strikes), the total value is 30. @@ -44,19 +58,25 @@ * `roll(pins : int)` is called each time the player rolls a ball. The argument is the number of pins knocked down. * `score() : int` is called only at the very end of the game. It returns the total score for that game. -## Making the Test Suite Pass -1. Get [PHPUnit]. +## Running the tests +1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`. + To find the Exercism workspace run + + % exercism debug | grep Workspace + +1. Get [PHPUnit] if you don't have it already. + % wget --no-check-certificate https://phar.phpunit.de/phpunit.phar % chmod +x phpunit.phar -2. Execute the tests for an assignment. +2. Execute the tests: - % phpunit.phar wordy/wordy_test.php + % ./phpunit.phar bowling/bowling_test.php [PHPUnit]: http://phpunit.de ## Source