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

erro de definição de metodo

Não to conseguindo achar o que eu possa ter feito de errado

maior_ou_menor.rb:23:in pede_um_numero': undefined methodto' for "25":String (NoMethodError) from maior_ou_menor.rb:56:in block in <main>' from maior_ou_menor.rb:54:ineach' from maior_ou_menor.rb:54:in `'

Segue o código:

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

def sorteia_numero_secreto
    puts "Escolha um número secreto entre 0 e 200..."
    sorteado = rand(200)
    puts "Escolhido... que tal advinhar 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.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.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).abs / 2.0
    pontos_ate_agora -= pontos_a_perder

    if verifica_se_acertou numero_secreto, chute
        break
    end    
end    

puts "Você ganhou #{pontos_ate_agora} pontos."
1 resposta
solução!

onde chute.to.i troque por chute.to_i