Quando executo o codigo abaixo, recebo o erro "maior_ou_menor.rb:14:in `sorteia_numero_secreto': wrong number of arguments (given 0, expected 1) (ArgumentError)". Nao sei como corrigir.
Obrigado pela atencao.
def da_boas_vindas
puts "Bem vindo ao jogo da adivinhacao"
puts "Qual e o seu nome?"
nome = gets.strip
puts "\n\n\n\n"
puts "Comecaremos o jogo para voce, #{nome}."
end
def pede_dificuldade
puts "Qual o nivel de dificuldade? (1 facil, 5 dificil)"
dificuldade = gets.to_i
end
def sorteia_numero_secreto(dificuldade)
case dificuldade
when 1
maximo = 25
when 2
maximo = 50
when 3
maximo = 100
when 4
maximo = 150
else
maximo = 200
end
puts "Escolhendo um numero secreto entre 0 e #{maximo}..."
sorteado = rand * maximo
puts "Escolhido... que tal adivinhar nosso numero secreto?"
sorteado.to_i
end
def pede_um_numero(chutes, tentativa, limite_de_tentativas)
puts "\n\n\n\n"
puts "Tentativa #{tentativa} de #{limite_de_tentativas}."
if chutes.size > 0
puts "Voce ja chutou os numeros: #{chutes}."
end
puts "Entre com um numero"
chute = gets.strip
puts "Sera que acertou? Voce chutou #{chute}."
chute.to_i
end
def verifica_se_acertou(numero_secreto, chute)
acertou = chute == numero_secreto
if acertou
puts "Acertou!"
sleep 3 #seconds
return true
end
puts "Errou..."
maior = numero_secreto > chute
if maior
puts "O numero e maior!"
else
puts "O numero e menor!"
end
false
end
da_boas_vindas
dificuldade = pede_dificuldade
numero_secreto = sorteia_numero_secreto
pontos_ate_agora = 1000
limite_de_tentativas = 2
chutes = []
for tentativa in 1..limite_de_tentativas
chute = pede_um_numero chutes, tentativa, limite_de_tentativas
chutes << chute
pontos_a_perder = (chute - numero_secreto).abs / 2.0
pontos_ate_agora -= pontos_a_perder
puts "Voce ganhou #{pontos_ate_agora} pontos"
break if verifica_se_acertou numero_secreto, chute
if limite_de_tentativas == tentativa
puts "O numero era #{numero_secreto}."
sleep 10
end
end