Я создаю карточную игру с несколькими классами. В настоящее время я использую глобальные переменные для хранения переменных $shuffled_deck
, $players_hand
и $dealers_hand
, но я волнуюсь при использовании глобальных переменных (возможно, без необходимости) и предпочитаю использовать переменные экземпляра.
Я читаю, но ничего не щелкает. Может ли кто-нибудь помочь указать мне в правильном направлении с этим?
Используя переменные экземпляра, я не смог сохранить @players_hand
и @dealers_hand
, чтобы иметь возможность использовать их в других классах. Например, у меня есть @players_hand
из класса Player
. У меня класс Dealer
берет карту, но я не могу вытащить этот @players_hand
в класс Dealer
, чтобы сложить их вместе.
Мой текущий код:
class Blackjack
def initialize
@player = Player.new
@dealer = Dealer.new
end
end
class Dealer
def initialize
@deck = Deck.new
$dealers_hand = 0
end
def hit_dealer
@deck.hit_dealer
end
def hit_player
@deck.hit_player
end
def draw_card
@hit = $shuffled_deck
end
def shuffle
@deck.suits
end
end
class Player
def initialize
$players_hand = 0
end
end
class Deck
def suits
#code that shuffled the deck..
$shuffled_deck = @shuffled_deck
end
def hit_player
@hit = $shuffled_deck.pop
end
def hit_dealer
@hit = $shuffled_deck.pop
end
end