Class: Deck
- Inherits:
-
Object
- Object
- Deck
- Defined in:
- lib/blackjack/deck.rb
Direct Known Subclasses
Instance Method Summary collapse
- #cards ⇒ Object
- #cards_left ⇒ Object (also: #size, #length)
- #draw ⇒ Object
-
#initialize(shuffle = true) ⇒ Deck
constructor
A new instance of Deck.
- #shuffle ⇒ Object
- #shuffle! ⇒ Object
- #to_s ⇒ Object
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
#cards ⇒ Object
16 17 18 |
# File 'lib/blackjack/deck.rb', line 16 def cards @cards end |
#cards_left ⇒ Object Also known as: size, length
36 37 38 |
# File 'lib/blackjack/deck.rb', line 36 def cards_left @cards.length end |
#draw ⇒ Object
32 33 34 |
# File 'lib/blackjack/deck.rb', line 32 def draw @cards.pop end |
#shuffle ⇒ Object
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_s ⇒ Object
28 29 30 |
# File 'lib/blackjack/deck.rb', line 28 def to_s @cards.map(&:to_s).join(',') end |