class Hand

Constants

MDHV

Attributes

cards[RW]

Public Class Methods

deck() click to toggle source
# File lib/hand.rb, line 8
def self.deck; @@deck; end
deck=(deck) click to toggle source
# File lib/hand.rb, line 5
def self.deck=(deck); @@deck = deck.cards.shuffle; end
new(cards=[@@deck.shift, @@deck.shift]) click to toggle source
# File lib/hand.rb, line 11
def initialize(cards=[@@deck.shift, @@deck.shift])
        @cards = cards
end

Public Instance Methods

blackjack?() click to toggle source
# File lib/hand.rb, line 10
def blackjack?; value == 21 && @cards.length == 2; end
bust?() click to toggle source
# File lib/hand.rb, line 9
def bust?; value > 21; end
hit() click to toggle source
# File lib/hand.rb, line 15
def hit; @cards.push @@deck.shift; end
value() click to toggle source
# File lib/hand.rb, line 16
def value # The value of the cards in @cards
        v, aces = 0, 0
        for card in @cards
                v += card.value
                aces += 1 if card.num == "Ace"
        end
        while v > 21 && aces > 0
                v -= 10
                aces -= 1
        end
        return v
end
view() click to toggle source
# File lib/hand.rb, line 14
def view; @cards.each {|card| "#{card.abbr}\t"}; end