def da_boas_vindas puts "Bem vindo ao jogo da adivinhação!" puts "Qual é o seu nome?" nome = gets puts "\n\n\n" puts "Começaremos o jogo para você, " + nome end
def sorteia_numero_secreto puts "\n\n\n" puts "Escolhendo um número secreto entre 0 e 200..." sorteado = 175 puts "\n\n\n" puts "Escolhido... que tal adivinhar hoje nosso número secreto?" sorteado end
def pede_um_numero(tentativa, limite_de_tentativas) puts "\n\n\n" puts "Tentativa " + tentativa.to_s + " de " + limite_de_tentativas.to_s puts "Entre com o número:" chute = gets puts "\n\n\n" puts "Será que você acertou? Você chutou " + chute chute.to_i end
def verifica_se_acertou(numero_secreto, chute) acertou = numero_secreto == chute
if acertou
puts "Acertou!"
return true
else
maior = numero_secreto > chute
if maior
puts "O número secreto é maior!"
return false
else
puts "O número secreto é menor!"
return false
end
end
end
da_boas_vindas numero_secreto = sorteia_numero_secreto
limite_de_tentativas = 5
for tentativa in 1..limite_de_tentativas chute = pede_um_numero(tentativa, limite_de_tentativas) if verifica_se_acertou(numero_secreto, chute) break end end
Na função verifica_se_acertou, são passados 2 parâmetros. O primeiro (tentativa), é acessível pois está definido fora da função. Porém o segundo (chute), está dentro definido somente dentro do laço. Conforme meu entendimento da aula, só são acessíveis as variáveis que estão no escopo geral, digamos soltas, não de uma função para outra. Preciso de uma orientação. Obrigado.