Sha256: 97ee1cc5f30a2a5a83036937e049f8e8170cfa628933e3899bab9c8f97e8d270

Contents?: true

Size: 1.33 KB

Versions: 66

Compression:

Stored size: 1.33 KB

Contents

require_relative 'dealing_pile'
require_relative 'dealt_pile'
require_relative 'column_pile'
require_relative 'foundation_pile'

require_relative '../model/game'

class KlondikeSolitaire
  module View
    class Tableau
      include Glimmer::UI::CustomWidget
      
      option :game
      
      body {
        canvas {
          background :dark_green
          
          # row 1
          @foundation_piles = Model::PlayingCard::SUITS.each_with_index.map do |suit, i|
            foundation_pile(pile_x: MARGIN + i*(PLAYING_CARD_WIDTH + PLAYING_CARD_SPACING), pile_y: 0, game: game, suit: suit)
          end
          @dealt_pile = dealt_pile(pile_x: MARGIN + 5*(PLAYING_CARD_WIDTH + PLAYING_CARD_SPACING), pile_y: 0, model: game.dealt_pile)
          @dealing_pile = dealing_pile(pile_x: MARGIN + 6*(PLAYING_CARD_WIDTH + PLAYING_CARD_SPACING), pile_y: 0, model: game.dealing_pile)
          
          # row 2
          @column_piles = 7.times.map do |n|
            column_pile(pile_x: MARGIN + n*(PLAYING_CARD_WIDTH + PLAYING_CARD_SPACING), pile_y: PLAYING_CARD_HEIGHT + PLAYING_CARD_SPACING, model: game.column_piles[n])
          end
          
          on_mouse_up do |event|
            if @dealing_pile.body_root.include?(event.x, event.y)
              game.dealing_pile.deal!
            end
          end
        }
      }
  
    end
  end
end

Version data entries

66 entries across 66 versions & 1 rubygems

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