这是tic tac toe计划的开始。我希望程序循环,然后重置以获得更多输入,直到满足给定的哈希值方案。到目前为止,它要求输入并在我的网格上显示一次。如果我尝试将它包装在循环中,程序将打印第一个输入,直到它崩溃。
@entries = {1=>" ", 2=>" ", 3=>" ", 4=>" ", 5=>" ", 6=>" ", 7=>" ", 8=>" ",9=>" "}
def choice(n)
puts "pick a space!"
name = gets.chomp
name2 = name.to_i
n.each do |key,value|
if name2 == key
@entries[key]= "X"
puts "\t\t #{@entries[1]} | #{@entries[2]} | #{@entries[3]} "
puts "\t\t-----------"
puts "\t\t #{@entries[4]} | #{@entries[5]} | #{@entries[6]} "
puts "\t\t-----------"
puts "\t\t #{@entries[7]} | #{@entries[8]} | #{@entries[9]} "
end
end
end
choice(@entries)
答案 0 :(得分:1)
choice
函数当前需要一个从未使用过的参数。目前还不清楚你想要实现什么,但当然,该函数应该使用接收的参数,或者它根本不应该接收参数。
如果目标是填充所有套接字,则可以迭代,除非它们被填充:
loop do
break "Completed!" if @entries.all? { |k, v| k == v }
choice()
end