def da_boas_vindas
puts "Bem vindo\n\nQual é o seu nome?"
nome = gets
puts "\n\n\n\n\n\n"
puts "Bem vindo, #{nome}"
nome
end
def pede_dificuldade
puts "Qual o nível de dificuldade que deseja? (1 fácil, 5 difícil)"
dificuldade = gets.to_i
end
def sorteia_numero_secreto(dificuldade)
case dificuldade
when 1
maximo = 30
when 2
maximo = 60
when 3
maximo = 100
when 4
maximo = 150
else
maximo = 200
end
puts "Escolhendo um número secreto entre 1 e #{maximo}...\n . \n . \n ."
sorteado = rand(maximo) +1
puts "Escolhido.\nQue tal adivinhar o numero?"
sorteado
end
def pede_um_numero(chutes, tentativa, limiteDeTentativas)
puts "\n\n"
puts "Tentativa #{tentativa} de #{limiteDeTentativas}"
puts "Chutes até agora: #{chutes} "
puts "Entre com o numero"
chute = gets
puts "Será que acertou? Você chutou #{chute}"
chute.to_i
end
def verifica_se_acertou(numeroSecreto, chute)
acertou = numeroSecreto == chute
if acertou
puts "Acertou"
return true
end
maior = numeroSecreto > chute
if maior
puts "Você errou. O número é maior!"
else
puts "Você errou. O número é menor!"
end
false
end
def joga(nome, dificuldade)
numeroSecreto = sorteia_numero_secreto dificuldade
nome = nome
limiteDeTentativas = 5
chutes = []
pontos_ate_agora = 1000
for tentativa in 1..limiteDeTentativas
chute = pede_um_numero chutes, tentativa, limiteDeTentativas
chutes << chute
if nome == "Felipe"
puts "Acertou!"
break
end
pontos_a_perder = (chute - numeroSecreto).abs / 2.0
puts ".. ."
pontos_ate_agora -= pontos_a_perder
if verifica_se_acertou(numeroSecreto, chute)
break
end
end
puts "Você ganhou #{pontos_ate_agora} pontos"
end
def não_quer_jogar?
puts"Deseja jogar novamente?(S/N)"
quero_jogar = gets.strip
não_quero_jogar = quero_jogar.upcase == "N"
end
nome = da_boas_vindas
dificuldade = pede_dificuldade
loop do
joga nome, dificuldade
break if não_quer_jogar?
end
Apesar de estar aparentemente igual ao código apresentado o código não trapaceia