module PlayerHandActions

Public Instance Methods

can_dbl?() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 12
def can_dbl?
  return false if blackjack.money < blackjack.all_bets + bet

  !(stood || cards.size != 2 || blackjack?)
end
can_hit?() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 22
def can_hit?
  !(played || stood || value(HARD) == 21 || blackjack? || busted?)
end
can_split?() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 4
def can_split?
  return false if stood || blackjack.player_hands.size >= PlayerHand::MAX_PLAYER_HANDS

  return false if blackjack.money < blackjack.all_bets + bet

  cards.size == 2 && cards.first.value == cards.last.value
end
can_stand?() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 18
def can_stand?
  !(stood || busted? || blackjack?)
end
dbl() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 37
def dbl
  deal_card

  self.played = true
  self.bet *= 2
  process if done?
end
hit() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 26
def hit
  deal_card

  if done?
    process
  else
    blackjack.draw_hands
    blackjack.current_player_hand.action?
  end
end
stand() click to toggle source
# File lib/blackjack/player_hand_actions.rb, line 45
def stand
  self.stood = true
  self.played = true
  process
end