class Shoe
Attributes
cards[RW]
num_decks[RW]
Public Class Methods
new(num_decks = 1)
click to toggle source
# File lib/blackjack/shoe.rb, line 17 def initialize(num_decks = 1) @num_decks = num_decks @cards = [] end
shuffle_specs()
click to toggle source
# File lib/blackjack/shoe.rb, line 103 def self.shuffle_specs [80, 81, 82, 84, 86, 89, 92, 95] end
Public Instance Methods
needs_to_shuffle?()
click to toggle source
# File lib/blackjack/shoe.rb, line 22 def needs_to_shuffle? return true if cards.size.zero? total_cards = num_decks * 52 cards_dealt = total_cards - cards.size used = cards_dealt / total_cards.to_f * 100.0 used > Shoe.shuffle_specs[num_decks - 1] end
new_aces()
click to toggle source
# File lib/blackjack/shoe.rb, line 48 def new_aces self.cards = [] (num_decks * 10).times do (0..3).each do |suit_value| cards << Card.new(0, suit_value) end end shuffle end
new_aces_jacks()
click to toggle source
# File lib/blackjack/shoe.rb, line 68 def new_aces_jacks self.cards = [] (num_decks * 10).times do (0..3).each do |suit_value| cards << Card.new(0, suit_value) cards << Card.new(10, suit_value) end end shuffle end
new_eights()
click to toggle source
# File lib/blackjack/shoe.rb, line 89 def new_eights self.cards = [] (num_decks * 10).times do (0..3).each do |suit_value| cards << Card.new(7, suit_value) end end shuffle end
new_jacks()
click to toggle source
# File lib/blackjack/shoe.rb, line 58 def new_jacks self.cards = [] (num_decks * 10).times do (0..3).each do |suit_value| cards << Card.new(10, suit_value) end end shuffle end
new_regular()
click to toggle source
# File lib/blackjack/shoe.rb, line 36 def new_regular self.cards = [] num_decks.times do (0..3).each do |suit_value| (0..12).each do |value| cards << Card.new(value, suit_value) end end end shuffle end
new_sevens()
click to toggle source
# File lib/blackjack/shoe.rb, line 79 def new_sevens self.cards = [] (num_decks * 10).times do (0..3).each do |suit_value| cards << Card.new(6, suit_value) end end shuffle end
next_card()
click to toggle source
# File lib/blackjack/shoe.rb, line 99 def next_card cards.shift end
shuffle()
click to toggle source
# File lib/blackjack/shoe.rb, line 32 def shuffle 7.times { cards.shuffle! } end