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

Não consigo adicionar os erros

Olá,

Quando executo o jogo no cmd a contagem de erros sempre mostra 0 e não adiciona mais 1. Eu já conferi o código diversas vezes e não consigo encontrar o problema.

Esse é meu codigo:

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

def escolhe_palavra_secreta
    puts "\n\n"
    puts "Escolhendo uma palavra"
    palavra_secreta = "programador"
    puts "\n\n\n"
    puts "Palavra secreta com #{palavra_secreta.size} letras escolhida. Que tal adivinhar a palavra secreta? 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 (chutes, erros)
    puts "\n\n\n\n"
    puts "Erros até agora: #{erros}"
    puts 
    puts "Chutes até agora: #{chutes}"
    puts
    puts "Entre com uma letra ou palavra"
    chute = gets.strip
    puts " Você chutou #{chute}. Sera que acertou?"
    chute
end

def joga (nome)
    palavra_secreta = escolhe_palavra_secreta

    erros = 0
    chutes = []
    pontos_ate_agora = 0

    while erros < 5
        chute = pede_um_chute chutes, erros
        chutes << chute

        chutou_uma_letra = chute.size == 1

        if chutou_uma_letra
        else
            acertou = chute == palavra_secreta
            if acertou
                puts "Acertou! Parabens!"
                pontos_ate_agora += 100
                break
            else
                puts "Que pena..errou"
                pontos_ate_agora -= 30
                erros += 1    
            end
        end
    end
    puts "Você ganhou #{pontos_ate_agora} pontos."
end



nome = da_boas_vindas    

loop do 
    joga nome
    if nao_quer_jogar?
        break        
    end
end
1 resposta
solução!

Oi Paula! Nesse pedaço abaixo você só está checando erros pra caso tenha errado a palavra inteira, é isso mesmo que você quer fazer?

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

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