Sha256: c6e3243d26ab92949015758f0a3be3b416d1ca05f7e8dd35b7f261163b1f5f13
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 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: i*(PLAYING_CARD_WIDTH + PLAYING_CARD_SPACING), pile_y: 0, game: game, suit: suit) end @dealt_pile = dealt_pile(pile_x: 5*(PLAYING_CARD_WIDTH + PLAYING_CARD_SPACING), pile_y: 0, model: game.dealt_pile) @dealing_pile = dealing_pile(pile_x: 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: 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
glimmer-dsl-swt-4.20.13.8 | samples/elaborate/klondike_solitaire/view/tableau.rb |