class GlimmerKlondikeSolitaire::Model::DealingPile

Constants

DEALING_INITIAL_COUNT

Public Class Methods

new(game) click to toggle source
# File app/glimmer_klondike_solitaire/model/dealing_pile.rb, line 6
def initialize(game)
  @game = game
  reset!
end

Public Instance Methods

deal!() click to toggle source
# File app/glimmer_klondike_solitaire/model/dealing_pile.rb, line 16
  def deal!
    playing_card = playing_cards.shift
    if playing_card.nil?
      @game.dealt_pile.playing_cards.each do |a_playing_card|
        playing_cards << a_playing_card
      end
      @game.dealt_pile.playing_cards.clear
    else
      @game.dealt_pile.push!(playing_card)
    end
end
playing_cards() click to toggle source
# File app/glimmer_klondike_solitaire/model/dealing_pile.rb, line 28
def playing_cards
  @playing_cards ||= []
end
reset!() click to toggle source
# File app/glimmer_klondike_solitaire/model/dealing_pile.rb, line 11
def reset!
  playing_cards.clear
  DEALING_INITIAL_COUNT.times { playing_cards << @game.deck.pop }
end