Class: Deck

Inherits:
Object
  • Object
show all
Defined in:
lib/blackjack/deck.rb

Direct Known Subclasses

Shoe

Instance Method Summary collapse

Constructor Details

#initialize(shuffle = true) ⇒ Deck

Returns a new instance of Deck.



5
6
7
8
9
10
11
12
13
14
# File 'lib/blackjack/deck.rb', line 5

def initialize(shuffle=true)
  @cards =
  (2..14).map do |rank|
    Card::SUITS.map do |suit|
      Card.new(suit, rank)
    end
  end
  @cards = @cards.flatten()
  self.shuffle! if shuffle
end

Instance Method Details

#cardsObject



16
17
18
# File 'lib/blackjack/deck.rb', line 16

def cards
  @cards
end

#cards_leftObject Also known as: size, length



36
37
38
# File 'lib/blackjack/deck.rb', line 36

def cards_left
  @cards.length
end

#drawObject



32
33
34
# File 'lib/blackjack/deck.rb', line 32

def draw
  @cards.pop
end

#shuffleObject



20
21
22
# File 'lib/blackjack/deck.rb', line 20

def shuffle
  @cards.shuffle
end

#shuffle!Object



24
25
26
# File 'lib/blackjack/deck.rb', line 24

def shuffle!
  @cards.shuffle!
end

#to_sObject



28
29
30
# File 'lib/blackjack/deck.rb', line 28

def to_s
  @cards.map(&:to_s).join(',')
end