war game to_s方法抛出未定义的方法错误

时间:2014-11-04 18:43:19

标签: ruby

我试图调试这个问题但我无法解决这个问题。我有一个战争卡类,我想要做的是打印结果,显示游戏次数,计数和双方玩家的手牌。我得到了数字,玩家可以上班,但我无法获得数量。任何帮助将不胜感激。我关注的变量是@num_plays。

这里我初始化num_plays并将其设置为0     阶级战争

attr_reader :num_plays

def initialize

orig_deck = Deck.new
@player_a = DownStack.new
@player_b = DownStack.new
@limbo_stack = DownStack.new
@num_plays = 0

这里每次玩家抽取卡片时都会添加值(我没有显示所有游戏方法)

def play
#Player Draw
@num_plays += 1
card_a = @player_a.deal

最后我的to_s方法抛出一个未定义的方法错误。

def to_s 
        output = " "
    output +=  "Number of plays:" + " " + @player_a.num_plays.to_s

1 个答案:

答案 0 :(得分:0)

正如@JTG在评论中建议的那样,错误告诉您,您尝试在num_plays实例上调用DownStack - @player_a.num_plays在您显示的代码中 - 没有实现它。

num_plays个实例上使用War,这应该是您展示的内容

# war.rb
def to_s
    "Number of plays: #{@num_plays}"
end

即。,您需要添加您提到的其他值)