Module: CARD

Defined in:
lib/toychest/card.rb

Defined Under Namespace

Classes: C

Constant Summary collapse

@@D =
{
	blank: {
		suits:{ none: :clear },
		face: { face: 1 },
		numbers: [0],
		special: { special: 2 }
	},
	poker: {
		suits: { hearts: :red, diamonds: :red, spades: :black, clubs: :black },
		face: { a: 11, k: 10, q: 10, j: 10 },
		numbers: (2..10),
		special: {}
	},
	bicycle: {
		suits: { hearts: :red, diamonds: :red, spades: :black, clubs: :black },
		face: { ace: 11, king: 10, queen: 10, jack: 10 },
		numbers: (2..10),
		special: { joker: 10, Joker: 10 }
	},
}
@@C =
Hash.new { |h,k| h[k] = C.new(k) }

Class Method Summary collapse

Class Method Details

.[](k) ⇒ Object



100
101
102
# File 'lib/toychest/card.rb', line 100

def self.[] k
	@@C[k]
end

.card(h = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/toychest/card.rb', line 25

def self.card h={}
	return { 
		id: 0, 
		name: "blank", 
		suit: "none", 
		color: "none", 
		card: "card", 
		points: 0, 
		draw: lambda { |s, a, e| puts %[DRAW #{s} #{a} #{e}] },
		burn: lambda { |s, a, e| puts %[BURN #{s} #{a} #{e}] }
	}.merge(h)
end

.deckObject



22
23
24
# File 'lib/toychest/card.rb', line 22

def self.deck
	@@D
end