在我的测试中:
@board.disp_s
@board.state = [1,0,0,1,0,0,0,0,0]
@board.disp_s
相应的输出:
Layout:
nilnilnil
nilnilnil
nilnilnil
Layout:
100
100
110
现在......我很确定我告诉它
100
100
000
来自我的模型的代码:http://pastebin.com/2Mpu7tU7
我确信测试中调用的所有方法都没有修改@board_layout
....所以我很困惑。
答案 0 :(得分:3)
disp_s方法没有正确计算索引。
def disp_s
puts "Layout:"
WIDTH.times do |row|
WIDTH.times do |col|
print @board_layout[col * row + col]
end
puts " "
end
col * row + col
应该是WIDTH * row + col
。
我没有仔细查看您的代码,以确保没有其他问题,但这肯定会打印不正确的值。