Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby library for comparing poker hands and determining the winner.
Ruby
Branch: master
Pull request Compare This branch is 3 commits ahead, 49 commits behind robolson:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
lib
test
.gitignore
CHANGELOG
LICENSE
README.rdoc
Rakefile
ruby-poker.gemspec

README.rdoc

Poker library in Ruby

Author:: Rob Olson

Email

rko618 [at] gmail.com

Bug Tracker

rubyforge.org/tracker/?group_id=5257

GitHub

github.com/robolson/ruby-poker/

Description

Ruby-Poker handles the logic for getting the rank of a poker hand. It can also be used to compare two or more hands to determine which hand has the highest poker value.

Card representations can be passed to the PokerHand constructor as a string or an array. Face cards (cards ten, jack, queen, king, and ace) are created using their letter representation (T, J, Q, K, A).

Install

sudo gem install ruby-poker

Example

require 'rubygems'
require 'ruby-poker'

hand1 = PokerHand.new("8H 9C TC JD QH")
hand2 = PokerHand.new(["3D", "3C", "3S", "KD", "AH"])
puts hand1                => 8h 9c Tc Jd Qh (Straight)
puts hand1.just_cards     => 8h 9c Tc Jd Qh
puts hand1.rank           => Straight
puts hand2                => 3d 3c 3s Kd Ah (Three of a kind)
puts hand2.rank           => Three of a kind
puts hand1 > hand2        => true

Duplicates

By default ruby-poker will not raise an exception if you add the same card to a hand twice. You can tell ruby-poker to not allow duplicates by doing the following

PokerHand.allow_duplicates = false

Place that line near the beginning of your program. The change is program wide so once allow_duplicates is set to false, all poker hands will raise an exception if a duplicate card is added to the hand.

Compatibility

Ruby-Poker is compatible with Ruby 1.8.6 and Ruby 1.9.1.

History

In the 0.2.0 release Patrick Hurley's Texas Holdem code from rubyquiz.com/quiz24.html was merged into ruby-poker.

License

This is free software; you can redistribute it and/or modify it under the terms of the BSD license. See LICENSE for more details.

Something went wrong with that request. Please try again.