def da_boas_vindas puts "\n" puts "Bem vindo ao jogo da forca!" puts "\n" puts "Qual é o seu nome?" puts "\n" nome = gets.strip puts "\n\n\n\n\n\n" puts "Começaremos o jogo para você, #{nome}." puts "\n" nome end
def escolhe_palavra_secreta puts "Escolhendo uma palavra secreta..." puts"\n" palavra_secreta = "programador" puts "Palavra secreta 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(chutes, erros) puts "\n\n\n\n" puts "Erros até agora: #{erros}." puts "Chutes até agora: #{chutes}." puts "\n" puts "Entre com uma letra ou uma palavra:" chute = gets.strip puts "\n" puts "Será que acertou? Você chutou: #{chute}" chute end
def conta(texto, letra) total_encontrado = 0 for i in 0..(texto.size-1) if texto[i] == letra total_encontrado += 1 end end total_encontrado 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
letra_procurada = chute[0]
total_encontrado = conta palavra_secreta, letra_procurada
end
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! Acertou!"
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
Tenho a seguinte dúvida: Nesse trecho (total_encontrado = conta palavra_secreta, letra_procurada), pelo meu entendimento, são passados como parâmetros palavra_secreta e letra_procurada, porém a função conta (def conta) tem como parâmetros texto e letra. Os parâmetros não devem ser os mesmos, já que são a mesma função? Obrigado.