bowling_kata.cr
Bowling Kata (in Crystal)
Rules of bowling
- Game consists of 10 frames.
- in each frame player has 2 opportunities (rolls) to knock down 10 pins
- score for a frame = total number of pins knocked down
- and bonuses for spares and strikes
 
- Spare is when player knocks down all 10 pins in 2 tries
- bonus = number of pins knocked down by the next roll
 
- Strike is when player knocks down all 10 pins in 1 try
- bonus = number of pins knocked down in the next 2 rolls
 
- 10th frame
- player who rolls spare or strike is allowed to do extra rolls to complete frame
- however, no more than 3 rolls can be done in 10th frame
 
Requirements
- Write a class named Gamethat has following methods:- #roll(pins : Int)called each time player does a roll.- pinsargument is the number of pins knocked down by that roll
- #score : Intis called only at the end of the game. It returns the total score of the game
 
Development
After cloning the repository:
- Use shards installto install development dependencies
- Use crystal specto run the test suite
Contributing
- Fork it ( https://github.com/waterlink/bowling_kata.cr/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- waterlink Oleksii Fedorov - creator, maintainer
Credits
Kata description is inspired by Uncle Bob's BowlingKata description
Repository
  bowling_kata.cr
Owner
  
  Statistic
  - 0
- 0
- 0
- 0
- 2
- over 9 years ago
- April 4, 2016
License
  MIT License
Links
  
  Synced at
  Fri, 31 Oct 2025 12:08:35 GMT
Languages