[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
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Inutilidade pública - interessante,
grtsp <=