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

nao consigo executar o codigo

alguem poderia me ajudar? mesmo lendo a emsagem de de erro nao conseguir encontrar o problema

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

def sorteia_palavra_secreta
    puts "Escolhendo uma palavra..."
    palavra_secreta = "programador"
    puts "Escolhida uma palavra com #{palavra_secreta.size} letras... boa sorte!"
    palavra_secreta
end

def nao_quer_jogar?
    puts "Deseja jogar novamente? (S/N)"
    quero_jogar = gets.strip
    nao_quero_jogar = quero_jogar.upcase == "N"
end

def pede_um_chute (chute, erros)
    puts "\n\n\n\n"
    puts "Erros ate agora #{erros}"
    puts "Chutes ate agora: #{chutes}"
    puts "Entre com uma letra ou palavra"
    chute = gets.strip
    puts "Sera que voce acertou? voce chutou #{chute}"
    chute
end

def joga (nome)
    palavra_secreta = escolhe_palavra_secreta

    erros = 0
    chutes = []
    pontos_ate_agoa = 0
    while erros < 5
        chute = pede_um_chute
        chutes << chute

        chutou_uma_letra = chute.size == 1
        if chutou_uma_letra
        else
            acertou = chute == palavra_secreta
            if acertou
                puts "Parabens! Voce acertou!"
                pontos_ate_agora += 100
                break
            else
                puts "Que pena voce errou"
                pontos_ate_agora -=30
                erros += 1 
            end
        end
    end



    puts "vc ganhou #{pontos_ate_agora} pontos."
end


nome = da_boas_vindas

loop do
    joga nome
    break if nao_quer_jogar?
end

mensagem de erro: https://imgur.com/a/TrtdYIj

8 respostas

Gustavo, parece problema de encoding, remove o é da linha:

puts "Qual é o seu nome?"

Coloca um e sem acento pra ver.

puts "Qual e o seu nome?"

Confirma pra mim e caso seja isso, a gente vê uma melhor solução.

Oi Wanderson, tudo bem? Eu fiz o ajuste sugerido mas continuo tendo a mesma mensagem :(

despois de remover o restante dos acentos a mesagem de erro mudou https://imgur.com/a/jGn0sP8

Gustavo, você está usando qual editor? O Bloco de notas do Windows? Você consegue me garantir que na hora de salvar o arquivo, a codificação dele está indo em UTF-8?

Olá Gustavo,

adicione o trecho de código no inicio do arquivo .rb:

# encoding: utf-8
solução!

Wanderson, nao sei se está em uts-8, mas estou editando no sublime com "ruby" identificado no canto inferior direito da janela.

Willian, eu coloquei a linha no inicio do codigo (sem o jogo da velha) e agora a mensagem de erro é essa https://imgur.com/a/6APApxs.

o inicio de codigo com o que vc passou ficou assim

encoding: utf-8

def da_boas_vindas
    puts "Bem vindo ao jogo da forca"
    puts "Qual e o seu nome?"
    nome = gets.strip
    puts "\n\n\n\n\n\n"
    puts "Começaremos o jogo para voce, #{nome}"
    nome
end

dei uma mexida aqui e consegui resolver, nem sei como. brigado gente

Opa, era essa linha mesmo Gustavo, mas ela deveria estar como comentário mesmo.

Esse seu problema acontecia mais comumente nas versões do Ruby antes da 2.0 se não me engano, mas acredito eu que criar os arquivos como UTF-8, já resolveria o problema.

De qualquer forma, fico feliz que tenha resolvido. Bons estudos!