Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por algum motivo o codigo ta passando direto pela parte do jogo que "rouba"

def da_boas_vindas
    puts "Bem vindo\n\nQual é o seu nome?"
    nome = gets
    puts "\n\n\n\n\n\n"
    puts "Bem vindo, #{nome}"
    nome
end

def pede_dificuldade
    puts "Qual o nível de dificuldade que deseja? (1 fácil, 5 difícil)"
    dificuldade = gets.to_i

end

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 1 e #{maximo}...\n . \n . \n ."
    sorteado = rand(maximo) +1
    puts "Escolhido.\nQue tal adivinhar o numero?"    
    sorteado
end

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

def verifica_se_acertou(numeroSecreto, chute)
    acertou = numeroSecreto == chute 
    if acertou
        puts "Acertou"
        return true
    end
    maior = numeroSecreto > chute
    if maior
        puts "Você errou. O número é maior!"
    else
        puts "Você errou. O número é menor!"
    end    
    false
end


def joga(nome, dificuldade)

    numeroSecreto = sorteia_numero_secreto dificuldade
    nome = nome
    limiteDeTentativas = 5
    chutes = []
    pontos_ate_agora = 1000


    for tentativa in 1..limiteDeTentativas
            chute = pede_um_numero chutes, tentativa, limiteDeTentativas
            chutes << chute

            if nome == "Felipe"

                puts "Acertou!"
                break
            end

            pontos_a_perder = (chute - numeroSecreto).abs / 2.0
            puts ".. ."
            pontos_ate_agora -= pontos_a_perder

            if verifica_se_acertou(numeroSecreto, chute)
                break
            end    
    end
        puts "Você ganhou #{pontos_ate_agora} pontos"
end


def não_quer_jogar?
    puts"Deseja jogar novamente?(S/N)"
    quero_jogar = gets.strip
    não_quero_jogar = quero_jogar.upcase == "N"
end

nome = da_boas_vindas
dificuldade = pede_dificuldade
loop do 
    joga nome, dificuldade
    break if não_quer_jogar?
end

Apesar de estar aparentemente igual ao código apresentado o código não trapaceia

1 resposta
solução!

Descobri o motivo. Não estava "stripando" a variável nome quando pegava ela do usuário