Sha256: 883dedcf773aa48f43e3c1379e751010b8a90038497efba4ff9c06ed48dd521e

Contents?: true

Size: 737 Bytes

Versions: 67

Compression:

Stored size: 737 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

67 entries across 67 versions & 1 rubygems

Version Path
glimmer-dsl-swt-4.24.4.2 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.4.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.3.2 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.3.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.3.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.2.3 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.2.2 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.2.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.2.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.1.3 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.1.2 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.1.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.1.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.0.2 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.0.1 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.24.0.0 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.23.1.5 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.23.1.4 samples/elaborate/klondike_solitaire/model/dealing_pile.rb
glimmer-dsl-swt-4.23.1.3 samples/elaborate/klondike_solitaire/model/dealing_pile.rb