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 [email protected], Victor Leonardo <vic...@...> 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 >
