Pessoal,
Quando rodo o código e chuto p por exemplo ele mostra total de vezes que aparece = 1, o que está correto, mas se na sequencia coloco r ele mostra total = 1 o que está errado.
Onde está o erro?
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 pede_um_chute chutes, erros
puts "\n\n\n\n"
puts "Erros até agora: #{erros}"
puts "Chutes até agora: #{chutes}"
puts "Entre com a letra ou palavra"
chute = gets.strip
puts "Será que você acertou? Você chutou #{chute}"
chute
end
def joga nome
palavra_secreta = sorteia_palavra_secreta
erros = 0
chutes = []
pontos_ate_agora = 0
while erros < 5
chute = pede_um_chute chutes, erros
chutes << chute
chutou_uma_unica_letra = chute.size == 1
if chutou_uma_unica_letra
total_encontrado = palavra_secreta.count chutes[0]
if total_encontrado == 0
puts "Letra não encontrada"
erros += 1
else
puts "Letra encontrada #{total_encontrado} vezes"
end
else
acertou = chute == palavra_secreta
if acertou
puts "Parabéns você acertou!"
pontos_ate_agora += 100
break
else
puts "Que pena! Você errou!"
pontos_ate_agora -= 30
erros += 1
end
end
end
puts "Você ganhou #{pontos_ate_agora} pontos."
end
def nao_quer_jogar?
puts "Deseja jogar novamente? (S/N)"
quero_jogar = gets.strip
nao_quero_jogar = quero_jogar.upcase == "N"
end
nome = da_boas_vindas
loop do
joga nome
break if nao_quer_jogar?
end