Compare Preços no Buscape e no BondFaro
BuscaPé, líder em comparação de preços na América Latina

HP AMD Turion 64 X2 1.9 GHz
2 Gb RAM - 160 Gb HD

Alguma Poesia
Carlos Drummond

Sony Cyber-shot S730
7.2 Megapixels

Patch Adams
O Amor é Contagioso

CD Elements Of Persuasion
James Labrie

Receptor TV ( USB )

Patinho Faminto
www.patinho.net

Apostilas
Expr Regular
Remasterização
SED
Shell Script

Distros
Dizinha
Patinho Faminto

Nerd
Desejo Nerd
Shell Scripts

Artístico
Livro
Musica
Poesias
Tirinhas

Bobagens
Ascii Art
Games Antigos
Porque Amar Nerds
Porque Não Amar Nerds

Eu
About Me
Recomendo
Contato
DOAÇÕES

Amigos
Aurélio
Jogos Antigos
NeoDizinha
Nerds Nervosos
ProibidoParaNormais


* = Recentemente Atualizado



website stats
Locations of visitors to this page

Anúncio provido pelo BuscaPé
BuscaPé, líder em comparação de preços na América Latina

Ver Indice Geral da Apostila de Shell Script

Aplicação Prática: Jogo Descubra a Senha

Tente criar um jogo simples em que o usuário tem que adivinhar uma senha.
A senha é um número escolhido ao acaso pelo computador, esse número é formado por 4 algarismos que vão de 0 a 9.
Cada vez que o usuário acertar um algarismo o computador escreve de volta o número acertado, se errar o computador mostra um '*' para indicar o erro.
Faça com que o usuário tenha apenas 5 chances para descobrir a Senha.

O meu código ficou:

senha.sh

senha1=$((RANDOM % 10 ))
senha2=$((RANDOM % 10 ))
senha3=$((RANDOM % 10 ))
senha4=$((RANDOM % 10 ))


echo "Tente Descobrir a Senha"

for ((x=5;x>=1;x--));
do

	echo "Você tem $x chance(s) para achar a senha"
	echo "Qual senha você acha que é?"
	echo "Digite os quatros algarismos separados por um espaço exemplo: 1 4 3 2"
	read resp1 resp2 resp3 resp4

	if [ "$resp1" -ne "$senha1" ]; then resp1='*'; fi
	if [ "$resp2" -ne "$senha2" ]; then resp2='*'; fi
	if [ "$resp3" -ne "$senha3" ]; then resp3='*'; fi
	if [ "$resp4" -ne "$senha4" ]; then resp4='*'; fi

	if [[ $resp1 = "*" || $resp2 = "*" || $resp3 = "*" || $resp4 = "*" ]]
	then
		echo "$resp1 $resp2 $resp3 $resp4"
	else
		echo "Parabéns, você acertou a senha"
		exit 0
	fi
	
done

echo "Infelizmente você não descobriu a senha. A senha era:"
echo "$senha1 $senha2 $senha3 $senha4"

 
 

Explicação do Código:

Comecei o script dando valores aleatórios para os quatro algarismos que compõe a senha
senha1=$((RANDOM % 10 ))
senha2=$((RANDOM % 10 ))
senha3=$((RANDOM % 10 ))
senha4=$((RANDOM % 10 ))

Usei o comando FOR para contar quantas vezes o usuário já jogou.
Repare que dei valor inicial de 5 para "x" e a cada resposta errada o FOR tira 1 da variável "x".
Assim posso usar a variável "x" para informar o usuário quantas chances ele ainda tem para encontrar a senha

Com o comando READ guardei os valores que o usuário informa em quatro variáveis

Usei quatro IFs para verificar se o número enviado pelo usuário é DIFERENTE do número sorteado pelo computador.
Se o número for diferente a variável armazena o símbolo '*'
if [ "$resp1" -ne "$senha1" ]; then resp1='*'; fi
if [ "$resp2" -ne "$senha2" ]; then resp2='*'; fi
if [ "$resp3" -ne "$senha3" ]; then resp3='*'; fi
if [ "$resp4" -ne "$senha4" ]; then resp4='*'; fi

Usei um IF para verificar se pelo menos uma das quatro variáveis contém um '*' armazenado.
Se pelo menos uma das variáveis tiver um '*' então o ECHO mostra na tela todas variáveis.
Lembre que os valores "corretos" permanecem intactos, e os "errados" foram substituídos por um '*'

Se nenhuma das variáveis tiver '*' então todos dígitos só podem estar corretos, logo posso usar um ECHO para escrever uma mensagem parabenizando o usuário.
E em seguida usar o comanto "exit" para encerrar o script

 
 

Nota: 9

Votar:
Postado em: 2008-03-28

Ver Indice Geral da Apostila de Shell Script

Doações
Se quer nos ajudar, pode doar pelo PagSeguro

Ou pode doar pelo Paypal clicando no botão DONATE

Compare Produtos, Lojas e Preços


As poesias devem virar um livro impresso?
Claro
Só se tiver menos de 60 páginas
Só se tiver entre 60 e 120 páginas
Só se tiver mais que 120 páginas
Só vou comprar se for barato
Só vou comprar para você ficar feliz
Livro? Que Livro? Que poesia?
Resultado