Class: Cardgame::Deck

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/warcards/deck.rb

Instance Method Summary collapse

Constructor Details

#initializeDeck

Returns a new instance of Deck.



5
6
7
8
9
10
11
12
# File 'lib/warcards/deck.rb', line 5

def initialize
  @deck = Array.new
  [:hearts, :clubs, :diamonds, :spades].each do |suit|
    (1..13).each do |value|
      @deck << Card.new(:suit => suit, :value => value)
    end
  end
end

Instance Method Details

#[](index) ⇒ Object



14
15
16
# File 'lib/warcards/deck.rb', line 14

def [](index)
  @deck[index]
end

#each(&block) ⇒ Object



18
19
20
21
# File 'lib/warcards/deck.rb', line 18

def each &block
  #TODO understand this
  @deck.each { |card| block.call(card) }
end

#lengthObject



23
24
25
# File 'lib/warcards/deck.rb', line 23

def length
  @deck.length
end

#popObject



31
32
33
# File 'lib/warcards/deck.rb', line 31

def pop
  @deck.pop
end

#shuffle!Object



27
28
29
# File 'lib/warcards/deck.rb', line 27

def shuffle!
  @deck.shuffle!
end