Files
basic-computer-games/10_Blackjack/ruby/model/card_kind.rb
2022-03-29 00:31:45 +02:00

42 lines
802 B
Ruby

module Model
class CardKind
def initialize(label, value)
@label = label
@value = value
end
private_class_method :new
TWO = self.new("2", 2)
THREE = self.new("3", 3)
FOUR = self.new("4", 4)
FIVE = self.new("5", 5)
SIX = self.new("6", 6)
SEVEN = self.new("7", 7)
EIGHT = self.new("8", 8)
NINE = self.new("9", 9)
TEN = self.new("10", 10)
JACK = self.new("J", 10)
QUEEN = self.new("Q", 10)
KING = self.new("K", 10)
ACE = self.new("A", 11)
KINDS_SET = [
TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN,
JACK, QUEEN, KING, ACE
]
def same_value?(other_card)
value == other_card.value
end
def +(other)
throw "other doesn't respond to +" unless other.responds_to? :+
other.+(@value)
end
attr_reader :label, :value
end
end