Sha256: 22ea126d4b47a771759e36b2c58d8ce62e05a7ae58ebbdebc443a23768f1a8c3
Contents?: true
Size: 673 Bytes
Versions: 1
Compression:
Stored size: 673 Bytes
Contents
# frozen_string_literal: true module Rb21 class Deck attr_reader :cards def initialize @cards = [] @discarded = [] build end def draw raise "Draw pile is empty" if empty? (@discarded << @cards.shift).last end def empty? @cards.size.zero? end def reshuffle raise "The deck is not empty" unless @cards.size.zero? @cards = @discarded @discarded = [] @cards.shuffle! end private def build Card::SUITS.each do |suit| Card::ALL_NAMES.each do |name| @cards << Card.new(name, suit) end end @cards.shuffle! end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rb21-0.1.0 | lib/rb21/deck.rb |