concluindo a segunda aula de Ruby conseguindo fazer o jogo rodar, eu vim com uma questão que não consegui resolver de forma bonita pelo menos… e se o jogador acertar de primeira? esse não e o problema, mas eu queria colocar uma mensagem de "parabens vc acertou na primeira tentativa..." e ate ai td bem também ficou assim meu código
puts "tentativa 1"
puts "digite seu numero"
chute = gets
puts "vc chutou " + chute
acertou = numero_secreto == chute.to_i
if acertou
puts "voce acertou"
if acertou
puts "parabens, vc acertou na primeira tentativa"
enda solução nada pratica que encontrei para essa solução foi colocar TUDO dentro de um loop, que leria o primeiro bloco de código individualmente depois o restante das tentativas o programa leria em outro loop
vou deixar o código completo ate agora, não tem bugs ate agora, mas o código ficou muito mal organizado e não sei como melhorar-lo
puts "\n\n\n\n" puts "olar como vai vc? \n\n" puts "vamos jogar um jogo de adivinhacao? \n" puts "digite abaixo seu nome \n\n"
nome = gets puts "muito bem " + nome + "vc aprende bem rapido mesmo" puts "\n\n\n\n"
puts "voce tera 5 tentativas para adivinhar um numero \n\n" puts "esse numero vai ser sorteado de 0 a 50 \n\n" numero_secreto = 42 puts "escolhendo um numero....... \n" puts "numero escolhido, vamos comecar"
#######################################################################
a vida que esta abaixo eh apenas um dado usado nos dois loops para demarcar
o final das tentativas
vida = 3
for blau in 1..1 for tentativa in 1..1
puts "tentativa 1"
puts "digite seu numero"
chute = gets
puts "vc chutou " + chute
acertou = numero_secreto == chute.to_i
if acertou
puts "voce acertou"
if acertou
puts "parabens, vc acertou na primeira tentativa"
endbreak else puts "voce errou" maior = numero_secreto > chute.to_i if maior puts "o numero secreto e maior" else puts "o numero secreto e menor" end end end break
for tentativa in 2..3
puts "tentativa " + tentativa.to_s + " de " + vida.to_s
puts "digite seu numero"
chute = gets
puts "vc chutou " + chute
acertou = numero_secreto == chute.to_i
if acertou
puts "voce acertou"break else puts "voce errou" maior = numero_secreto > chute.to_i if maior puts "o numero secreto e maior" else puts "o numero secreto e menor" end end end end
obg galera