class CardsLib::Standard::Evaluators::BlackjackEvaluator
Public Class Methods
new(cards)
click to toggle source
# File lib/cards_lib/standard/evaluators/blackjack_evaluator.rb, line 5 def initialize(cards) @cards = cards @reduced_ace_count = 0 end
Public Instance Methods
worth()
click to toggle source
# File lib/cards_lib/standard/evaluators/blackjack_evaluator.rb, line 10 def worth @worth ||= @cards.map(&:value).inject(:+) if @worth > 21 attempt = reduce_by_ace attempt = reduce_by_ace until @worth < 22 || !attempt end @worth end
Private Instance Methods
count_aces()
click to toggle source
# File lib/cards_lib/standard/evaluators/blackjack_evaluator.rb, line 30 def count_aces @cards.count {|c| c.rank == "A"} end
reduce_by_ace()
click to toggle source
# File lib/cards_lib/standard/evaluators/blackjack_evaluator.rb, line 20 def reduce_by_ace if count_aces > @reduced_ace_count @worth -= 10 @reduced_ace_count += 1 true else false end end