Project

badcards

0.0
No commit activity in last 3 years
No release in over 3 years
Includes cards, decks (of multiple sizes), hands, and drawing (of multiple cards).
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.5
>= 0.7.0, ~> 0.7.0
>= 10.1.0, ~> 10.1.0
>= 2.14.1, ~> 2.14.1
 Project Readme

BaDcards

Gem Version Build Status Coverage Status Code Climate

Ruby library of playing cards. I needed a card library for an app so I decided to make one. Why "badcards"? Because the images are bad (check them out, you'll see what I mean).

Installation

Add this line to your application's Gemfile:

gem 'badcards'

And then execute:

$ bundle

Or install it yourself as:

$ gem install badcards

Usage

card = Card.new("Ace", "Spades") # create an "Ace of Spades" card
hand = Hand.new # create a hand that can hold onto cards
deck = Deck.new(6) # create a deck consisting of six mini-decks of 52 cards

Properties

Card

A card has a value, suit, and image. Images are hosted by myself on S3 and (for the moment) are publicly available.

card = Card.new("Ace", "Spades")
card.img
# => "https://s3-us-west-2.amazonaws.com/badcards/cards/spade/ace.png"

Acceptable values (as strings):

  • Ace (A)
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Jack (J)
  • Queen (Q)
  • King (K)

Acceptable suits (as strings):

  • Diamond (D)
  • Club (C)
  • Heart (H)
  • Spade (S)

Hand

A simple container to hold cards, currently no limit on the number of cards in each

Deck

A deck is comprised of a minimum of 52 cards, currently no limit on the number of base decks in each (defaults to 1). Has a shuffle method to shuffle cards randomly, shuffles 12 times by default. Also has a peek method to see what the n top-most cards are.

deck = Deck.new(6)
deck.shuffle(3)
deck.peek(5)
# => [Card, Card, Card, Card, Card]

Contributing

  1. Fork it ( http://github.com/benspotatoes/badcards/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request