shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inutilidade pública - interessante


From: grtsp
Subject: Re: Inutilidade pública - interessante
Date: Thu, 17 Sep 2009 16:19:15 -0000
User-agent: eGroups-EW/0.82

Parabéns...bem planejado vou aprimorar meus conhecimentos. e por acaso não 
encontro o script do matrix na lista, é possivel me enviar em pvt?

abs e parabens

lpax


--- Em address@hidden, Victor Leonardo <victor@...> escreveu
>
> Olá pessoal!
> 
> Olha eu aí de novo com mais um daqueles devaneios! :)
> Da primeira vez foi aquele screen saver tipo Matrix. Agora resolvi que
> quero criar um joguinho de corrida em shell! (Ô falta do que fazer
> hein!)
> 
> Costumo ficar pensando nessas coisas para exercitar um pouco a lógica
> além de conhecer melhor as funcionalidades do shell.
> 
> Montei um troço meio tosco que lembra de longe um daqueles joguinhos
> antigos de corrida da época do Atari. Só tem 2 carrinhos, sendo que o
> carrinho vermelho é o carro do jogador que se move para a esquerda
> (teclando o '4') e para a direita (teclando o '6'). O '5' ou qualquer
> outra tecla serve para acelerar um pouco o joguinho.
> 
> É super monótono, mas que tiver a fim de dar uma melhorada ou ainda
> sugerir algo mais bacana, pode ficar à vontade. A idéia é essa mesmo,
> melhorar o produto final.
> 
> Quem se interessar, por favor, mande as alterações para a lista para a
> gente trocar idéia.
> 
> Eu tenho o péssimo hábito de não comentar os meus códigos, mas já tô
> montando um com comentários.
> 
> Valeu galera!
> 
> 
> #!/bin/bash
> 
> trap "setterm -cursor on;stty sane;exit" 2 20
> 
> clear
> 
> setterm -cursor off
> 
> cor1="\e[38;41m"
> cor2="\e[38;42m"
> cor0="\e[0m"
> 
> adv=1
> 
> coluna2=$((RANDOM%($(tput cols)-40)+12))
> 
> mycar0=$(echo -e "$cor0     $cor1 _ $cor0")
> mycar1=$(echo -e "$cor0   $cor1 _/ \_ $cor0")
> mycar2=$(echo -e "[]<$cor1|     |$cor0>[]")
> mycar3=$(echo -e "$cor0    $cor1\\(^)/$cor0")
> mycar4=$(echo -e "$cor0   $cor1 / - \\ $cor0")
> mycar5=$(echo -e "[]<$cor1|_____|$cor0>[]")
> 
> otcar0=$(echo -e "$cor0     $cor2 _ $cor0")
> otcar1=$(echo -e "$cor0   $cor2 _/ \_ $cor0")
> otcar2=$(echo -e "[]<$cor2|     |$cor0>[]")
> otcar3=$(echo -e "$cor0    $cor2\\(^)/$cor0")
> otcar4=$(echo -e "$cor0   $cor2 / - \\ $cor0")
> otcar5=$(echo -e "[]<$cor2|_____|$cor0>[]")
> 
> linha=$(($(tput lines)-6))
> 
> coluna=$((RANDOM%($(tput cols)-40)+12))
> 
> pista ()
> {
> 
> for i in `seq 1 $(($(tput lines) - 3))`; do
> 
>   tput cup $i 10; echo -e "$cor1|/|$cor0"
>   tput cup $i $(($(tput cols)-10)); echo -e "$cor1|/|$cor0"
> 
> done
> 
> otcar
> }
> 
> corrida ()
> {
> 
> while true; do
> 
> pista
> 
> done
> }
> 
> mycar ()
> {
> 
> tput cup $linha $coluna;echo "$mycar0"
> tput cup $(($linha +1)) $coluna; echo "$mycar1"
> tput cup $(($linha +2)) $coluna; echo "$mycar2"
> tput cup $(($linha +3)) $coluna; echo "$mycar3"                
> tput cup $(($linha +4)) $coluna; echo "$mycar4"
> tput cup $(($linha +5)) $coluna; echo "$mycar5"
> 
> 
> if [ $adv -le $linha ]; then
>     adv=$(expr $adv + 1)
>   else
>     adv=1
>     coluna2=$((RANDOM%($(tput cols)-40)+12))
> fi
> 
> read -sn1 -t1 move
> 
> case $move in
>     4) coluna=$(($coluna - 5));move="";pista;;
>     6) coluna=$(($coluna + 5));move="";pista;;
>     *) coluna=$coluna;move="";pista
> esac
> }
> 
> otcar ()
> {
> linha2=$adv
> 
> clear
> 
> tput cup $linha2 $coluna2;echo "$otcar0"
> tput cup $(($linha2 + 1)) $coluna2;echo "$otcar1"
> tput cup $(($linha2 + 2)) $coluna2;echo "$otcar2"
> tput cup $(($linha2 + 3)) $coluna2;echo "$otcar3"
> tput cup $(($linha2 + 4)) $coluna2;echo "$otcar4"
> tput cup $(($linha2 + 5)) $coluna2;echo "$otcar5"
> 
> mycar
> }
> corrida
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]