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

Amazon PC Core 2 Duo 2.1 GHz
4Gb Ram - 250 GB HD

PHP 5
Walace Soares

Filmadora Samsung
SC-MX10A Digital

Sociedade dos
Poetas Mortos

CD Train Of Thought
Dream Theater

Pinguim de Pelúcia

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

Jogo Descubra a Senha - Parte Final

O jogo "Descubra a Senha" ficaria muito melhor se mostrasse ao usuário todos os seus palpites e o resultado dos palpites,
isso tornaria mais fácil o jogo

Para resolver esse problema é simples, veja o código abaixo:

descubra_senha3a.sh

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


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

	resp=$(Xdialog --stdout --inputbox "Você tem $x chance(s) para achar a senha\n \
	Qual senha você acha que é? \n \
	Digite os quatros algarismos separados por um espaço exemplo: 1 4 3 2 \n \
	$tentativa" 0 0)

	resp1=${resp:0:1}
	resp2=${resp:2:1}
	resp3=${resp:4:1}
	resp4=${resp:6:1}


	if [ "$senha1" -lt "$resp1" ]; then resp1='-';
		elif [ "$senha1" -gt "$resp1" ]; then resp1='+'; fi
	if [ "$senha2" -lt "$resp2" ]; then resp2='-';
		elif [ "$senha2" -gt "$resp2" ]; then resp2='+'; fi
	if [ "$senha3" -lt "$resp3" ]; then resp3='-';
		elif [ "$senha3" -gt "$resp3" ]; then resp3='+'; fi
	if [ "$senha4" -lt "$resp4" ]; then resp4='-';
		elif [ "$senha4" -gt "$resp4" ]; then resp4='+'; fi

	tentativa="$tentativa \n Seu Palpite: $resp  Resultado: $resp1 $resp2 $resp3 $resp4"

	if [[ $resp1 =~ [-+] || $resp2 =~ [-+] || $resp3 =~ [-+] || $resp4 =~ [-+] ]]
	then
		Xdialog --msgbox "$resp1 $resp2 $resp3 $resp4" 0 0
	else
		Xdialog --msgbox "Parabéns, você acertou a senha" 0 0
		exit 0
	fi
	
done

Xdialog --msgbox "Infelizmente você não descobriu a senha. A senha era: \n \
$senha1 $senha2 $senha3 $senha4" 0 0

Só fiz 2 alterações no código.
A primeira foi no Xdialog. Adicionei nele uma quebra de linha ( \n ) e a variável $tentativa.
Assim todos os palpites do usuário serão guardados na variável palpite

A segunda alteração foi adicionar uma linha antes do "if". A linha é a seguinte
tentativa="$tentativa \n Seu Palpite: $resp Resultado: $resp1 $resp2 $resp3 $resp4"
Essa linha armazena na variável "tentativa" o palpite que o usário digitou e o resultado do palpite

 
 

Vamos alterar mais uma coisa no jogo.
Toda vez que o usuário insere um palpite abre uma janela mostrando o resultado desse palpite.
Como fizemos uma alteração que armazena todos palpites e resultados, fica um pouco chata essa janela abrindo.
Vamos retirá-la

descubra_senha3b.sh

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


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

	resp=$(Xdialog --stdout --inputbox "Você tem $x chance(s) para achar a senha\n \
	Qual senha você acha que é? \n \
	Digite os quatros algarismos separados por um espaço exemplo: 1 4 3 2 \n \
	$tentativa" 0 0)

	resp1=${resp:0:1}
	resp2=${resp:2:1}
	resp3=${resp:4:1}
	resp4=${resp:6:1}


	if [ "$senha1" -lt "$resp1" ]; then resp1='-';
		elif [ "$senha1" -gt "$resp1" ]; then resp1='+'; fi
	if [ "$senha2" -lt "$resp2" ]; then resp2='-';
		elif [ "$senha2" -gt "$resp2" ]; then resp2='+'; fi
	if [ "$senha3" -lt "$resp3" ]; then resp3='-';
		elif [ "$senha3" -gt "$resp3" ]; then resp3='+'; fi
	if [ "$senha4" -lt "$resp4" ]; then resp4='-';
		elif [ "$senha4" -gt "$resp4" ]; then resp4='+'; fi

	tentativa="$tentativa \n Seu Palpite: $resp  Resultado: $resp1 $resp2 $resp3 $resp4"

	if ! [[ $resp1 =~ [-+] || $resp2 =~ [-+] || $resp3 =~ [-+] || $resp4 =~ [-+] ]]
	then
		Xdialog --msgbox "Parabéns, você acertou a senha" 0 0
		exit 0
	fi
	
done

Xdialog --msgbox "Infelizmente você não descobriu a senha. A senha era: \n \
$senha1 $senha2 $senha3 $senha4" 0 0

Para retirar a janela adicionei um ponto de exclamação logo após o "if"
if ! [[ $resp1 =~ [-+] || $resp2 =~ [-+] || $resp3 =~ [-+] || $resp4 =~ [-+] ]]
Isso altera a lógica do IF, que seria de "Se" para "Se não"
Ou seja:
SE $resp1 for diferente de - + OU SE $resp2 for diferente de - + OU SE $resp3 for diferente de - + OU SE $resp4 for diferente de - +
ENTÃO Abre a Xdialog dizendo parabéns e em seguida o script é terminado

Outra coisa que fiz foi apagar de dentro do IF a linha:
Xdialog --msgbox "$resp1 $resp2 $resp3 $resp4" 0 0
Que era justamente a linha que abria o Xdialog

 
 

Nota: 10

Votar:
Postado em: 2008-09-16

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