30 lines
554 B
Ruby
30 lines
554 B
Ruby
require_relative "card"
|
|
|
|
# Représente un paquet de cartes et gère son contenu.
|
|
class Deck
|
|
attr_reader :cards
|
|
|
|
def initialize
|
|
@cards = []
|
|
values = ["7", "8", "9", "10", "ace", "jack", "queen", "king"]
|
|
suits = ["hearts", "diamonds", "clubs", "spades"]
|
|
|
|
suits.each do |suit|
|
|
values.each do |value|
|
|
@cards << Card.new(value, suit)
|
|
end
|
|
end
|
|
end
|
|
|
|
# Mélange les cartes du paquet.
|
|
def shuffle
|
|
@cards.shuffle!
|
|
end
|
|
|
|
# Retire et retourne la dernière carte du paquet.
|
|
def draw
|
|
@cards.pop
|
|
end
|
|
end
|
|
|