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

A função verifica_se_acertou não está mais funcionando

Quando rodo o programa, não imprime se o número q chutei é maior ou menor que o número sorteado

def dar_boas_vindas
 puts "Bem vindo(a) ao jooj da advinhação!"
 puts "\n\n\n\n"
 puts "Qual é seu nome?"
 nome = gets  
 puts "\n\n\n\n"
 puts "Começaremos o jooj para você, " + nome
end

def sorteia_numero_secreto 
 puts "\n\n\n\n"
 puts "Escolhendo um número entre 0 e 200..." 
 sorteado = 175
 puts 
 puts "Escolhido! Que tal adivinhar nosso número secreto, agora?"
 sorteado
end

def pede_um_numero(tentativa, limite_de_tentativas)
 puts "\n\n\n\n"
 puts "Tentativa " + tentativa.to_s + " de " + limite_de_tentativas.to_s
 puts "Entre com o número"
 chute = gets
 puts "Será que acertou? Você chutou " + chute
 chute.to_i
end 

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

    if acertou
     puts "Acertou!"
     return true
     maior = numero_secreto > chute
        if maior
          puts "O número secreto é maior!"
        else 
          puts "O número secreto é menor!"  
        end    
    end 
    false 
end    

dar_boas_vindas
numero_secreto = sorteia_numero_secreto
limite_de_tentativas = 5 

for tentativa in 1..limite_de_tentativas

    chute = pede_um_numero tentativa, limite_de_tentativas

    if verifica_se_acertou numero_secreto, chute
         break 
    end     
end
3 respostas
solução!

Oi Otavio tudo bem?

O if do acertou estava errado. Veja como ficaria o código correto:

def dar_boas_vindas
 puts "Bem vindo(a) ao jooj da advinhação!"
 puts "\n\n\n\n"
 puts "Qual é seu nome?"
 nome = gets  
 puts "\n\n\n\n"
 puts "Começaremos o jooj para você, " + nome
end

def sorteia_numero_secreto 
 puts "\n\n\n\n"
 puts "Escolhendo um número entre 0 e 200..." 
 sorteado = 175
 puts 
 puts "Escolhido! Que tal adivinhar nosso número secreto, agora?"
 sorteado
end

def pede_um_numero(tentativa, limite_de_tentativas)
 puts "\n\n\n\n"
 puts "Tentativa " + tentativa.to_s + " de " + limite_de_tentativas.to_s
 puts "Entre com o número"
 chute = gets
 puts "Será que acertou? Você chutou " + chute
 chute.to_i
end 

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

    if acertou
     puts "Acertou!"
     return true
    else
    maior = numero_secreto > chute
        if maior
          puts "O número secreto é maior!"
        else 
          puts "O número secreto é menor!"  
        end    
    end 
    false 
end    

dar_boas_vindas
numero_secreto = sorteia_numero_secreto
limite_de_tentativas = 5 

for tentativa in 1..limite_de_tentativas

    chute = pede_um_numero tentativa, limite_de_tentativas

    if verifica_se_acertou numero_secreto, chute
         break 
    end     
end

Espero ter ajudado!!!

Muito obrigado!!!

Disponha e bons estudos!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software