Rubycards
Rubycards is a library to emulate playing cards (cards, hands, decks). As an added bonus, you can display the cards as tiny pictures. I'm mainly doing this as an exercise to learn better Ruby organization, as well as documentation and testing. More importantly it's just fun.
See the extended documentation: http://rubydoc.info/github/jdan/rubycards
Installation
Add this line to your application's Gemfile:
gem 'rubycards'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rubycards
Example
Here's a trivial example of declaring a new deck, shuffling, and drawing 5 cards into a hand:
require 'rubycards'
include RubyCards
hand = Hand.new
deck = Deck.new
deck.shuffle!
hand.draw(deck, 5)
puts hand
Which produces the image at the top of this README.
Here's a second example showing 2 decks, with the 2 and Jacks removed, shuffling, and drawing 10 cards into a hand:
require 'rubycards'
include RubyCards
hand = Hand.new
deck = Deck.new(number_decks: 2, exclude_rank: [2, 'Jack'])
deck.shuffle!
hand.draw(deck, 10)
puts hand
Contributing
- Fork it
- 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 new Pull Request