Olá pessoal
Quando executo o seguinte código:
def boas_vindas
puts"\n\n"
puts "Bem vindo ao jogo de advinhação"
puts"\n\n\n"
puts "Por favor insira seu nome"
nome = gets
puts"\n\n\n"
puts "Hora de começar o jogo "+ nome
puts"\n\n\n"
end
def sorteio_numero_secreto
puts "Escolhendo um numero entre 0 e 200"
sorteado = 175
puts"\n\n\n"
puts "Gostaria de tentar um chute?"
puts"\n\n\n"
sorteado
end
def pede_um_numero(tentativa,limite_tentativas)
puts "Tentativa " + tentativa.to_s + " de " + limite_tentativas.to_s
puts "Chutes até agora: " + chutes.to_s
puts "Entre com o numero"
chute = gets
puts "Você chutou " + chute
chute
end
def verifica_se_acertou(numero_secreto, chute)
acertou = numero_secreto == chute.to_i
if acertou
puts"acertou"
return true
end
maior = chute.to_i > numero_secreto
if maior
puts"O chute passou do numero"
else
puts" O chute foi menor"
end
false
end
boas_vindas
numero_secreto = sorteio_numero_secreto
limite_tentativas = 5
chutes = []
total_de_chutes = 0
for tentativa in 1...limite_tentativas
chute = pede_um_numero tentativa limite_tentativas
chutes[total_de_chutes] = chutes
total_de_chutes += 1
if verifica_se_acertou numero_secreto chute
break
end
end
O programa não executa o jogo em si só a verificação do nome e dá a seguinte mensagem de erro:
Mais_ou_Menos.rb:58:in block in <main>': undefined method
tentativa' for main:Object (NoMethodError)
from Mais_ou_Menos.rb:57:in each'
from Mais_ou_Menos.rb:57:in
'
O que poderia ser o erro?