Não consigo encontrar o erro do meu código, é um problema de escopo na variável chutes[]
, mas estou passando ela como parâmetro.
Aqui o erro acusado:
maior_ou_menor.rb:47:in `<main>': undefined local variable or method `chutes' for main:Object (NameError)
Did you mean? chute
Aqui o meu código:
def da_boas_vindas
puts "Bem vindo ao jogo da adivinhação"
puts "\n"
puts "Qual o seu nome?"
nome = gets
puts "\n\n\n"
puts "Começaremos o jogo para você, " + nome
end
def sorteia_numero_secreto
puts "Escolhendo um número secreto entre 0 e 200..."
sorteado = 175
puts "Escolhido... que tal adivinhar hoje o nosso número secreto?"
puts "\n\n\n"
return sorteado
end
def pede_um_numero(chutes,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 "Será que voçê acertou? Você chutou " + chute
puts "\n"
chute.to_i
end
def verifica_se_acertou(numero_secreto,chute)
acertou = numero_secreto == chute
if acertou
puts "Acertou!"
return true
end
maior = numero_secreto > chute
if maior
puts "O número secreto é maior!"
else
puts "O número secreto é menor!"
end
false
end
da_boas_vindas
numero_secreto = sorteia_numero_secreto
limite_tentativas = 5
chutes[]
total_chutes = 0
for tentativa in 1..limite_tentativas
chute = pede_um_numero(chutes,tentativa,limite_tentativas)
chutes[total_chutes] = chute
total_chutes += 1
if verifica_se_acertou(numero_secreto,chute)
break
end
end