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

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

Re: [shell-script] Matrix


From: Julio C. Neves
Subject: Re: [shell-script] Matrix
Date: Fri, 18 Sep 2009 11:42:20 -0300

Fala Wellton
No 1o. matrix que postei na lista, disse que eu que tinha feito. Me enganei!
Aquele matrix foi um trabalho colaborativo que pintou na lista, mas no qual
tive grande colaboração, mesmo não tendo visto o filme.
Depois algumas pessoas me pediram que fizesse algumas modificações e tb tive
opotunidade de ver o filme (acho que foi em DVD, pois já havia saído dos
cinemas há muito tempo) e foi então que fiz o outro matrix o qual mencionei
no e-mail anterior.

Pois é, este 2o Matrix que desenvolvi a partir do 1o, foi o que vc descobriu
na internet e postou, só que inseriram algumas coisas que estavam dando
erros.

Dei uma revisada rápida que o deixou funcional, mas ainda não está legal,
pois ele só deveria começar a sobrescrever qdo a tela estivesse cheia e
ainda existem algumas letras brancas.

Vou postá-lo assim mesmo para desafiar vcs a melhorar o código.

$ cat matrix2.sh
#!/bin/bash

trap "echo -e '\033[m0';clear;tput cnorm;exit" 2

clear
prepara () {
    tput civis

Chars="abcdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ01234567890!@#$%¨&*()_-+=^~{}[];:?"
    while true; do
        lin=0
        lin1=$((RANDOM%$(tput lines)))
#        [ xxx -eq $(($(tput cols)-2)) ] && unset Cols
        while true; do
            COL=$((RANDOM%$(tput cols)))
            [ "${Cols[$COL]}" ] && continue
            Cols[$COL]=1
            break
        done
        while true; do
            COL2=$((RANDOM%$(tput cols)))
            [ "${Cols[$COL2]}" ] && continue
            Cols[$COL2]=1
            break
        done
        COR=$(tput sgr0; tput setf 2)
        COR2=$(tput bold; tput setf 2)
        coluna1
    done
}

coluna1 () {
    while [ $lin -lt $(tput lines) ]; do
        Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
        for i in `seq 1 3`;do
            Char1=$(echo $Chars | cut -c$i)
            tput cup $lin $COL; echo -en "\e[37;1m$Char1"
        done
        tput cup $lin $COL; echo -en "$COR$Char"
        let lin++
        coluna2
    done
    prepara
}

coluna2 () {
    while [ $lin1 -lt $(tput lines) ]; do
        Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
        for i in `seq 1 3`;do
            Char1=$(echo $Chars | cut -c$i)
            tput cup $lin1 $COL2; echo -en "\e[37;1m$Char1"
        done
        tput cup $lin1 $COL2; echo -en "$COR2$Char"
        let lin1++
        coluna1
    done
    [ $lin1 -eq $(tput lines) ] && lin1=$((RANDOM%$(tput lines)));
    COL2=$((RANDOM%$(tput cols)));coluna2
# coluna1
}

prepara

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ ligue (21) 2561-0867;
- Turmas fechadas em outras cidades ligue (21) 8112-9988.


2009/9/18 Wellton Costa de Oliveira <address@hidden>

>
>
> Tava pesquisando na internet, e achei esse aqui! há um problema aí, fala
> que
> Tem muitos']'
>
>
> #!/bin/bash
>
> trap "echo -e '\033[m0';clear;setterm -cursor on;exit" 2
>
> clear
>
> prepara () {
>
> setterm -cursor off
>
> Chars="abcdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ01234567890!
> @#$%¨
>
> &*()_-+=^~{}[];:?"
>
> while true; do
>
> lin=0
>
> lin1=$((RANDOM%$(tput lines)))
>
> [ [EMAIL PROTECTED] -eq $(($(tput cols)-2)) ] && unset Cols
>
> while true; do
>
> COL=$((RANDOM%$(tput cols)))
>
> COL2=$((RANDOM%$(tput cols)))
>
> [ "${Cols[$COL]}" ] && continue
>
> Cols[$COL]=1
>
> break
>
> done
>
> COR="\e[32;1m"
>
> COR2="\e[32;1m"
>
> coluna1
>
> done
>
> }
>
> coluna1 () { while [ $lin -lt $(tput lines) ]; do
>
> Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
>
> for i in `seq 1 3`;do
>
> Char1=$(echo $Chars | cut -c$i);sleep 0.000001
>
> tput cup $lin $COL; echo -en "\e[37;1m$Char1"
>
> done
>
> tput cup $lin $COL; echo -en "$COR$Char";sleep 0.0001
>
> let lin++
>
> coluna2
>
> done
>
> prepara
>
> }
>
> coluna2 () { while [ $lin1 -lt $(tput lines) ]; do
>
> Char=$(echo $Chars | cut -c$((RANDOM%86+1)))
>
> for i in `seq 1 3`;do
>
> Char1=$(echo $Chars | cut -c$i);sleep 0.000001
>
> tput cup $lin1 $COL2; echo -en "\e[37;1m$Char1"
>
> done
>
> tput cup $lin1 $COL2; echo -en "$COR2$Char";sleep 0.0001
>
> let lin1++
>
> coluna1
>
> done
>
> [ $lin1 -eq $(tput lines) ] && lin1=$((RANDOM%$(tput lines)));
> COL2=$((RANDOM%$(tput cols)));coluna2
>
> # coluna1
>
> }
>
> prepara
>
> 2009/9/18 Jeferson Santos <address@hidden<jefersondossantos%40gmail.com>
> >
>
> >
> >
> > no colors, seria legal se desse pra colocar apenas as nuances de verde,
> pra
> > ficar igual a matrx mesmo...
> >
> > 2009/9/17 Julio C. Neves 
> > <address@hidden<julio.neves%40gmail.com><julio.neves%
> 40gmail.com>>
>
> >
> >
> > >
> > >
> > > Pessoal,
> > > muito se falou em Matrix e fui no histórico da lista procurar um que
> fiz.
> > > Achei esse aqui, mas acho que já fiz outro melhor, só que não achei.
> > >
> > > #!/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)))
> > > for i in `seq 1 5`;do
> > > Char1=$(echo $Chars | cut -c$i);sleep 0.000001
> > > tput cup $lin $COL; echo -en "\e[37;1m$Char1"
> > > done
> > > tput cup $lin $COL; echo -en "$COR$Char";sleep 0.0001
> > > let lin++
> > > done
> > > done
> > >
> > > Abraços,
> > > Julio
> > > Cursos de Shell e Zenity em 2 fins de semana?
> > > - Em SP ligue (11) 2125-4747;
> > > - Em DF ligue (61) 3223-3000;
> > > - No RJ ligue (21) 2561-0867;
> > > - Turmas fechadas em outras cidades ligue (21) 8112-9988.
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Abraços,
> > Jeferson Santos
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Wellton Costa de Oliveira
> Mestrando
> Universidade Tecnológica Federal do Paraná - UTFPR
> Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial -
> CPGEI
> Laboratório de Imagem e Instrumentação Eletrônica - LABIEM
> http://www.labiem.cpgei.cefetpr.br
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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