class Rb21::Deck
Attributes
cards[R]
Public Class Methods
new()
click to toggle source
# File lib/rb21/deck.rb, line 7 def initialize @cards = [] @discarded = [] build end
Public Instance Methods
draw()
click to toggle source
# File lib/rb21/deck.rb, line 13 def draw raise "Draw pile is empty" if empty? (@discarded << @cards.shift).last end
empty?()
click to toggle source
# File lib/rb21/deck.rb, line 18 def empty? @cards.size.zero? end
reshuffle()
click to toggle source
# File lib/rb21/deck.rb, line 22 def reshuffle raise "The deck is not empty" unless @cards.size.zero? @cards = @discarded @discarded = [] @cards.shuffle! end
Private Instance Methods
build()
click to toggle source
# File lib/rb21/deck.rb, line 31 def build Card::SUITS.each do |suit| Card::ALL_NAMES.each do |name| @cards << Card.new(name, suit) end end @cards.shuffle! end