Sha256: cb568f0c33202d75353207b888816a0ea36fdf4ba94417cd13d7cbc9e5cfc631

Contents?: true

Size: 739 Bytes

Versions: 17

Compression:

Stored size: 739 Bytes

Contents

class KlondikeSolitaire
  module Model
    class DealingPile
      DEALING_INITIAL_COUNT = 24
      
      def initialize(game)
        @game = game
        reset!
      end
      
      def reset!
        playing_cards.clear
        DEALING_INITIAL_COUNT.times { playing_cards << @game.deck.pop }
      end

      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
      
      def playing_cards
        @playing_cards ||= []
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
glimmer-dsl-swt-4.30.1.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.30.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.29.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.28.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.27.0.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.27.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.26.0.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.26.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.25.0.2 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.25.0.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.25.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.8 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.7 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.6 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.5 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.4 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.3 samples/elaborate/klondike_solitaire/model/dealing_pile.rb