def boas_vindas puts "Bem-vindo ao jogo da forca" puts "Qual é seu nome?" nome = gets.strip puts "Começaremos o jogo para você, #{nome}" nome end
def escolhe_palavra_secreta puts "\n\n\n\n" puts "Escolhendo a palavra secreta" palavra_secreta = "programador" puts "Palavra secreta com #{palavra_secreta.size} letras" 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 uma letra" chute = gets.strip chute end
def joga (nome) palavra_secreta = escolhe_palavra_secreta
erros = 0 chutes = []
while erros < 5
chute = pede_um_chute, erros chutes << pede_um_chute
chutou_uma_letra = chute.size == 1 if chutou_uma_letra letra_procurada = chute [0] total_encontrado = 0 total_encontrado = palavra_secreta.count letra_procurada
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"
break
else
puts "Que pena...você errou"
erros += 1
end
end
end
end
nome = boas_vindas
loop do joga nome end
Sempre que rodo o jogo aparece a seguinte mensagem:
Traceback (most recent call last):
4: from C:/Users/Adrielle Henrique/Documents/Ruby/jogoforca.rb:69:in <main>'
3: from C:/Users/Adrielle Henrique/Documents/Ruby/jogoforca.rb:69:in
loop'
2: from C:/Users/Adrielle Henrique/Documents/Ruby/jogoforca.rb:70:in block in <main>'
1: from C:/Users/Adrielle Henrique/Documents/Ruby/jogoforca.rb:34:in
joga'
C:/Users/Adrielle Henrique/Documents/Ruby/jogoforca.rb:17:in `pede_um_chute': wrong number of arguments (given 0, expected 2) (ArgumentError)
Alguém consegue me explicar por que? Já que passei os argumentos para a função pede_um_chute