Olá, gostaria de saber onde eu posso obter o código final do projeto - melhoria da interface do usuário?
Olá, gostaria de saber onde eu posso obter o código final do projeto - melhoria da interface do usuário?
Oi Emerson, tudo bem?
No momento não temos o código da maioria dos cursos. Provavelmente não temos desse também.
Mas já estamos trabalhando para melhorar nesse ponto. Em breve deveremos ter boas novidades.
Se algum aluno que fez o curso tiver separado o código e puder disponibilizar, será de grande ajuda.
Abraço!
Olá, Emerson! Sei que faz tempo que postou isso, mas se ainda deseja, aqui está meu código final do projeto (há algumas diferenças que envolvem minhas preferências):
def welcome
puts
puts " P /_\ P "
puts " /_\_|_|_/_\ "
puts " n_n | ||. .|| | n_n Bem vindo ao "
puts " |_|_|nnnn nnnn|_|_| Jogo de Adivinhação!"
puts " |' ' | |_| |' ' | "
puts " |_____| ' _ ' |_____| "
puts " \__|_|__/ "
puts
puts "Qual é o seu nome?"
name = gets.strip
puts "\n\n\n\n\n"
puts "Começaremos o jogo para você, #{name}"
name
end
def difficulty_level
puts "Qual o nível de dificuldade que deseja?"
puts "(1) Muito fácil (2) Fácil (3) Normal (4) Difícil (5) Impossível"
puts "Escolha:"
difficulty = gets.to_i
end
def get_secret_number(difficulty)
case difficulty
when 1
max = 30
when 2
max = 60
when 3
max = 100
when 4
max = 150
else
max = 200
end
puts "Escolhendo um número secreto entre 1 e #{max}..."
secret_number = rand(max) + 1
puts "Escolhi! Que tal tentar adivinhar nosso número?"
secret_number
end
def choose_number(numbers_guess, try, try_limit)
puts "\n\n\n\n\n"
puts "Tentativa #{try} de #{try_limit}."
puts "Chutes até agora: #{numbers_guess}"
puts "Entre com o número!"
guess = gets.strip
puts "Será que acertou? Você chutou #{guess}."
guess.to_i
end
def verify_try(secret_number, guess)
win = secret_number == guess
more = secret_number > guess
if win
win_message
return true
end
if more
puts "O número secreto é maior!"
else
puts "O número secreto é menor!"
end
false
end
def win_message
puts
puts " OOOOOOOOOOO "
puts " OOOOOOOOOOOOOOOOOOO "
puts " OOOOOO OOOOOOOOO OOOOOO "
puts " OOOOOO OOOOO OOOOOO "
puts " OOOOOOOO # OOOOO # OOOOOOOO "
puts " OOOOOOOOOO OOOOOOO OOOOOOOOOO "
puts "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO "
puts "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO "
puts "OOOO OOOOOOOOOOOOOOOOOOOOOOOOO OOOO "
puts " OOOO OOOOOOOOOOOOOOOOOOOOOOO OOOO "
puts " OOOO OOOOOOOOOOOOOOOOOOOO OOOO "
puts " OOOOO OOOOOOOOOOOOOOO OOOO "
puts " OOOOOO OOOOOOOOO OOOOOO "
puts " OOOOOO OOOOOO "
puts " OOOOOOOOOOOO "
puts
puts " Você acertou! "
puts
end
def play(name, difficulty)
secret_number = get_secret_number difficulty
points_now = 1000
try_limit = 5
numbers_guess = []
for try in 1..try_limit
guess = choose_number numbers_guess, try, try_limit
numbers_guess << guess
if name == "Yan"
win_message
break
end
points_lost = (guess - secret_number).abs / 2.0
points_now -= points_lost
break if verify_try secret_number, guess
end
puts "Você ganhou #{points_now} pontos."
end
def keep_playing?
puts "Deseja jogar novamente? (S/N)"
to_keep_playing = gets.strip
to_keep_playing.upcase == "S"
end
name = welcome
difficulty = difficulty_level
loop do
play name, difficulty
break if ! keep_playing?
end
Talvez ainda consiga o código exatamente igual ao do instrutor, fique no aguardo!
Segue o código do instrutor:
def da_boas_vindas
puts
puts " P /_\ P "
puts " /_\_|_|_/_\ "
puts " n_n | ||. .|| | n_n Bem vindo ao "
puts " |_|_|nnnn nnnn|_|_| Jogo de Adivinhação!"
puts " |' ' | |_| |' ' | "
puts " |_____| ' _ ' |_____| "
puts " \__|_|__/ "
puts
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 pede_dificuldade
puts "Qual o nível de dificuldade?"
puts "(1) Muito fácil (2) Fácil (3) Normal (4) Difícil (5) Impossível"
puts "Escolha: "
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}..."
sorteado = rand(maximo) + 1
puts "Escolhido... que tal adivinhar hoje nosso número secreto?"
sorteado
end
def pede_um_numero(chutes, tentativa, limite_de_tentativas)
puts "\n\n\n\n"
puts "Tentativa #{tentativa} de #{limite_de_tentativas}"
puts "Chutes até agora: #{chutes}"
puts "Entre com o número"
chute = gets.strip
puts "Será que acertou? Você chutou #{chute}"
chute.to_i
end
def ganhou
puts
puts " OOOOOOOOOOO "
puts " OOOOOOOOOOOOOOOOOOO "
puts " OOOOOO OOOOOOOOO OOOOOO "
puts " OOOOOO OOOOO OOOOOO "
puts " OOOOOOOO # OOOOO # OOOOOOOO "
puts " OOOOOOOOOO OOOOOOO OOOOOOOOOO "
puts "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO "
puts "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO "
puts "OOOO OOOOOOOOOOOOOOOOOOOOOOOOO OOOO "
puts " OOOO OOOOOOOOOOOOOOOOOOOOOOO OOOO "
puts " OOOO OOOOOOOOOOOOOOOOOOOO OOOO "
puts " OOOOO OOOOOOOOOOOOOOO OOOO "
puts " OOOOOO OOOOOOOOO OOOOOO "
puts " OOOOOO OOOOOO "
puts " OOOOOOOOOOOO "
puts
puts " Acertou! "
puts
end
def verifica_se_acertou(numero_secreto, chute)
acertou = numero_secreto == chute
if acertou
ganhou
return true
end
maior = numero_secreto > chute
if maior
puts "O número secreto é maior!"
else
puts "O número secreto é menor!"
end
false
end
def joga(nome, dificuldade)
numero_secreto = sorteia_numero_secreto dificuldade
limite_de_tentativas = 5
chutes = []
pontos_ate_agora = 1000
for tentativa in 1..limite_de_tentativas
chute = pede_um_numero chutes, tentativa, limite_de_tentativas
chutes << chute
if nome == "Guilherme"
ganhou
break
end
pontos_a_perder = (chute - numero_secreto).abs / 2.0
pontos_ate_agora = pontos_ate_agora - pontos_a_perder
if verifica_se_acertou numero_secreto, chute
break
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
dificuldade = pede_dificuldade
loop do
joga nome, dificuldade
break if nao_quer_jogar?
end
Obrigado Yan!