我创建了牌组,洗牌,现在试图将7张牌交给4名玩家。
收到以下错误:
irb(main):097:0* deck.each do
irb(main):098:1* Player.@hand << deck.pop()
irb(main):099:1> end
SyntaxError: (irb):98: syntax error, unexpected tIVAR, expecting '('
Player.@hand << deck.pop()
^
使用此代码:
class Player
attr_accessor :hand
def initialize(hand)
@hand = hand
end
end
答案 0 :(得分:0)
我会在播放器上定义一个接受新卡片的方法,然后将它们添加到手中。
类似于:
def take_card(card)
hand << card
end
...导致......
deck.each do
@player.take_card deck.pop
end
注意@player,我用它来引用Player类的实例。在这里使用播放器可能不正确。
你可以实现一个运算符..
def <<(card)
hand << card
end
......然后......
deck.each do
@player << deck.pop
end