[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Screen saver em shell
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Screen saver em shell |
Date: |
Wed, 28 Jul 2004 17:50:29 -0300 |
Fala Victor,
eu não conheço legal o Matrix e acho que está faltando alguma coisa no que
fiz, mas gostei da sua idéia e implementei um tratamento de matrizes para
que não houvesse repetição de colunas até a tela estar quase cheia (quando
faltam somente 2 colunas, as vezes ele demora um pouco para achar uma coluna
vazia).
Se alguém, que conheça bem o matrix sacar o que falta, de as dicas que
poderemos fazer as alterações juntos, isto é, um trabalho cooperativo bem
dentro do espírito do SL. Aí vai:
#!/bin/bash
trap "echo -e '\033[m0';clear;setterm -cursor on;exit" 2
setterm -cursor off
Chars="abcdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ01234567890!@#$%¨
&*()_-+=^~{}[];:?"
clear
while true; do
lin=0
[ ${#Cols[@]} -eq $(($(tput cols)-2)) ] && unset Cols
while true; do
COL=$((RANDOM%$(tput cols)))
[ "${Cols[$COL]}" ] && continue
Cols[$COL]=1
break
done
COR="\e[3$((RANDOM%7+1));1m"
while [ $lin -lt $(tput lines) ]; do
Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
tput cup $lin $COL; echo -en "$COR$Char";sleep 0.01
let lin++
done
done
Julio Cezar Neves
- Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
| -----Mensagem original-----
| De: Victor Leonardo [mailto:address@hidden]
| Enviada em: quarta-feira, 28 de julho de 2004 16:34
| Para: address@hidden
| Assunto: [shell-script] Screen saver em shell
|
|
| Estou estudando shell script e vi nas funções zz do Aurélio algumas
| funções que criam screen savers em shell. Daí resolvi tentar fazer um
| imitando o Matrix com aqueles caracteres caindo na tela. Até que tá
| ficando legal, só que eu queria dar uma incrementada colocando algumas
| letras ao invés de só números como está atualmente.
| Não é nada de muito importante, é apenas para colocar em prática o que
| já vi em shell. Mas quem puder ajudar a melhorar e incrementar eu vou
| agradecer.
|
| Valeu :)
|
| Victor
|
| PS: foi mau, não tinha colocado o script no e-mail.
|
| #!/bin/bash
|
| trap "echo -e '\033[m0';clear;setterm -cursor on;exit" 2
|
| setterm -cursor off
|
| lin="1"
| COL=$((RANDOM%120+1))
| COR="\e[3$((RANDOM%7+1));1m"
|
| anima ()
| {
| while [ $lin -le 45 ]; do
| lin=`expr $lin + 1`
| tput cup $lin $COL; echo -e "$COR$((RANDOM%9+1))";sleep 0,01
| done
| COL=$((RANDOM%120+1))
| lin="0"
| COR="\e[3$((RANDOM%7+1));1m"
| anima
| }
|
| clear
| tput cup $lin $COL; echo -e "$COR$((RANDOM%9+1))";sleep 0,01
| anima
|
|
|
| [As partes desta mensagem que não continham texto foram removidas]
|
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
- RES: [shell-script] Screen saver em shell,
Julio Cezar Neves - DATAPREVRJ <=
- Re: RES: [shell-script] Screen saver em shell, Tia, 2004/07/28
- Re: RES: [shell-script] Screen saver em shell, Victor Leonardo, 2004/07/29
- Re: RES: [shell-script] Screen saver em shell, Viktor Mota, 2004/07/29
- Re: RES: [shell-script] Screen saver em shell, Tia, 2004/07/29
- Re[2]: RES: [shell-script] Screen saver em shell, Viktor Mota, 2004/07/29
- RES: [shell-script] Screen saver em shell, Jeferson A. Cassol, 2004/07/29
- Re: [shell-script] Screen saver em shell, Alexandre Heitor Schmidt, 2004/07/29
- Re: [shell-script] Screen saver em shell, Alexandre Heitor Schmidt, 2004/07/29
- Re: [shell-script] Screen saver em shell, Jeferson A. Cassol, 2004/07/29