3
respostas

erro no código após inserir pontuação

O jogo inicia normalmente, após o primeiro chute aparece: "será que acertou? Você chutou 123 Traceback (most recent call last): 2: from C:\Users\c085670\Desktop\Programação\maior_ou_menor.rb:53:in '

' 1: from C:\Users\c085670\Desktop\Programação\maior_ou_menor.rb:53:in 'each' C:\Users\c085670\Desktop\Programação\maior_ou_menor.rb:58:in 'block in ' undefined method ' - ' for "123": string (NoMethodError) Did you mean? - @
3 respostas

Oi Norton tudo certo ?

Pode postar o código pra gente dar uma olhada ?

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 sorteia_numero_secreto
    puts "Escolhendo um número secreto entre 0 e 200..."
    sorteado = 175
    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}"
    puts "Entre com o número"
    chute = gets.strip
    puts "Será que acertou? Você chutou #{chute}"
    chute
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.to_i
        if maior
    puts "O número secreto é maior!"
        else
    puts "O número secreto é menor!"
    end
    false
end



da_boas_vindas
numero_secreto = sorteia_numero_secreto

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 "Você ganhou #{pontos_ate_agora} pontos."

Oi Norton beleza ?

Faltou só passar o retorno da função pede_um_numeropara inteiro

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}"
    puts "Entre com o número"
    chute = gets.strip
    puts "Será que acertou? Você chutou #{chute}"
    chute.to_i