Sha256: 49da01f6843a84bcd5d979fb4135cb1550e3399363d1a453998f0ffb3e8f41b8
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
class GlimmerKlondikeSolitaire module Model class PlayingCard SUITS = [:spades, :hearts, :clubs, :diamonds] BLACK_SUITS = [:spades, :clubs] RED_SUITS = [:hearts, :diamonds] RANK_COUNT = 13 class << self def deck suit_decks.flatten end def suit_decks SUITS.map do |suit| suit_deck(suit) end end def suit_deck(suit) 1.upto(RANK_COUNT).map do |rank| new(rank, suit) end end end attr_reader :rank, :suit attr_accessor :hidden alias hidden? hidden def initialize(rank, suit, hidden = false) @rank = rank @suit = suit @hidden = hidden end def color if BLACK_SUITS.include?(suit) :black elsif RED_SUITS.include?(suit) :red end end def to_s "Playing Card #{rank}#{suit.to_s[0].upcase}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
glimmer_klondike_solitaire-1.1.0 | app/glimmer_klondike_solitaire/model/playing_card.rb |
glimmer_klondike_solitaire-1.0.1 | app/glimmer_klondike_solitaire/model/playing_card.rb |