Não estou conseguindo resolver o erro, a seguinte frase aparece:
undefined method -' for nil:NilClass
(repl):79:in
block in
each'
(repl):75:in
'
def boas_vindas
puts "Bem vindo ao jogo!"
puts "\n"
puts "Digite seu nome para começar: "
nome = gets.strip
puts "\n\n\n\n\n\n"
puts "Você está dentro do jogo #{nome}"
end
def pede_nivel
puts "Em qual o nível você quer jogar?"
dificuldade = gets.to_i
end
def sorteia_num_secreto(dificuldade)
puts "\n\n"
if dificuldade == 1
maximo = 30
else
if dificuldade == 2
maximo = 60
else
if dificuldade == 3
maximo = 100
else
if dificuldade == 4
maximo = 150
else
maximo = 200
end
end
end
end
puts "Escolhendo um número entre 0 e #{maximo - 1}..."
sorteado = rand(maximo)
puts "Escolhido... Vamos adivinhar seu número..."
puts "\n\n"
sorteado.to_i
end
def pede_num(chutes, tentativa, limite_tentativa)
puts "Tentativa #{tentativa} de #{limite_tentativa}"
puts "Chutes até agora: #{chutes}"
puts "Entre com o número:"
chute = gets.strip
chute.to_i
puts "\n\n"
end
def verifica(numero_secreto, chute)
acertou = numero_secreto == chute.to_i
if acertou
puts "ACERTOU!!!"
return true
end
maior = numero_secreto > chute.to_i
if maior
puts "O número é maior!!!"
else
puts "O número é menor!!!"
end
false
end
boas_vindas
dificuldade = pede_nivel
num_secreto = sorteia_num_secreto dificuldade
pontos = 1000
limite_tentativa = 5
chutes = []
for tentativa in 1..limite_tentativa
chute = pede_num chutes, tentativa, limite_tentativa
chutes << chute
pontos_perder = (chute - num_secreto).abs / 2.0
pontos -= pontos_perder
if verifica numero_secreto, chute
break
end
end
puts "Você ganhou #{pontos} pontos."