[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Screen Saver em shell 2
From: |
Victor Leonardo |
Subject: |
Re: [shell-script] Screen Saver em shell 2 |
Date: |
Thu, 29 Jul 2004 12:45:07 -0300 |
Ôpa!
Pode ser que assim dê certo a sua idéia! Mudei um pouquinho o shell do
Júlio Cézar repetindo a parte que seleciona aleatoriamente a lista de
caracteres a serem jogados na tela e o negócio funcionou! Aí Renato,
olha se é mais ou menos isso que você tinha sugerido! Pode ser que dê
pra melhorar né!
Valeu pela sugestão!!!
#!/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,00001
Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
tput cup $lin $COL; echo -en "$COR$Char";sleep 0,00001
Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
tput cup $lin $COL; echo -en "$COR$Char";sleep 0,00001
Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
tput cup $lin $COL; echo -en "$COR$Char";sleep 0,00001
Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
tput cup $lin $COL; echo -en "$COR$Char";sleep 0,00001
let lin++
done
done
Em Qui, 2004-07-29 às 11:46, address@hidden escreveu:
> Pessoal....
> Vou tomar a liberdade de dar uma opinião...
> Acho q ficaria bem legal se a cada vez que o script for imprimir uma letra
> aleatória ele imprimisse uma cadeia de caracteres tipo "$%#@!<>\|][~" para dar
> idéia de um sorteio. Vou exemplificar para ficar mais claro:
> Vamos dizer que o script selecionou a letra "g" para imprimir, antes de
> imprimir
> ele imprimir cada um dos caracteres da cadeia de exemplo, um sobre o outro,
> para
> depois finalmente imprimir a letra "g".
> É claro que não faço idéia de como fazer isso !!!!
>
> []'s
>
> Renato
> Citando Victor Leonardo <address@hidden>:
>
> >
> >
> >
> >
> > Blz pessoal!
> >
> >
> >
> > Será que tem uma maneira de modificarmos o script do matrix de modo que
> >
> > caiam na tela mais de uma coluna de caracteres e de modo independente?
> >
> > Mais ou menos assim, quando uma coluna estiver no meio da tela começa
> >
> > outra em um ponto aleatório. E ainda, tem que ter algumas colunas que
> >
> > descem apagando outras já existentes. Acho que assim vai ficar ainda
> >
> > mais bacana! Se der alguém dá um toque blz!
> >
> >
> >
> > Tõ colocando aqui o shell do Júlio que ficou infinitamente melhor do que
> >
> > o meu original!
> >
> >
> >
> > #!/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
> >
> >
> >
> > Grande abraço a todos!
> >
> >
> >
> >
> >
> > Victor
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> >
> > 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
> >
> > ---------------------------------------------------------------------
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Yahoo! Grupos, um serviço oferecido por:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> > Para visitar o site do seu grupo na web, acesse:
> > http://br.groups.yahoo.com/group/shell-script/
> >
> > Para sair deste grupo, envie um e-mail para:
> > address@hidden
> >
> > O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> > Yahoo!.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
--
Victor L. Gomes
Suporte
EAC Software
Tel.:(31) 3273-4415 / Fax: (31) 3226-7618
Visite nosso site: www.eacnet.com.br