Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

erro ao ex codigo

def da_boas_vindas
puts "Bem-vindo ao jogo da adivinhação"
puts "Qual é o seu nome?"
nome = gets.strip
puts "\n\n\n\n\n\n"
puts "Começaremos o jogo para você, #{nome}"
end

def pede_dificuldade
    puts "qual o nivel de dificuldade desejado? (1 facil, 5 dificil)"
    dificuldade = gets.to_i

def sorteia_numero_secreto (dificuldade)
    case dificuldade
    when 1 
        maximo = 30
    when 2 
        maximo = 60
    when 3
        maximo = 100
    when 4
        maximo = 150
    else
        maximo = 200
    end
    puts "Escolhendo um número secreto entre 0 e #{maximo - 1} ..."
    sorteado = rand (maximo)
    puts "Escolhido... que tal adivinhar hoje nosso número secreto?"
    sorteado
end    


def pede_um_numero(chutes, tentativa, limite_de_tentativas)
    puts "\n\n\n\n"
    puts "Tentativa #{tentativa} de #{limite_de_tentativas}"
    puts "Chutes até agora:  #{chutes}"
    chute = gets.strip
    puts "Será que acertou? Você chutou #{chutes}"
    chute.to_i
end


 def verifica_se_acertou (numero_secreto, chute)
     acertou = numero_secreto == chute.to_i

    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!"
            false
        end
end


 da_boas_vindas
 dificuldade = pede_dificuldade
 numero_secreto = sorteia_numero_secreto dificuldade
 pontos_ate_agora = 1000

limite_de_tentativas = 5
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) /2
    pontos_ate_agora -= pontos_a_perder

    if verifica_se_acertou(numero_secreto, chute)
        break
    end
end

puts "voce ganhou #{pontos_ate_agora} pontos."

quando rodo tenho a mensagem de erro na linha 82 (a ultima) syntax error, unexpected end of input, expecting keyword_end puts "voce ganhou #{pontos_ate_agora} pontos."

alguem pode me ajudar?

2 respostas
solução!

Oi Gustavo, tudo bem? Me parece que tá faltando um end na função pede_dificuldade. Verifica pra mim?

Deu certo aqui, mto obrigado!