feet.sh - pseudo screensaver em bash

Publicado por Valtoir dos Santos Jardim 18/08/2008

[ Hits: 6.427 ]

Homepage: valtoir.wordpress.com

Download feet.sh




Feet.sh é um pequeno script que fiz como exercício de lógica e programação. Ele desenha pegadas no terminal, em posições aleatórias e cores idem. Para pará-lo é só pressionar qualquer tecla.

  



Esconder código-fonte

#!/bin/bash
#  author: Valtoir dos Santos Jardim
#  e-mail: valtoirjardim_at_gmail_dot_com
#    blog: valtoir.blogspot.com
#    date: 2007-07-29-21:28
# version: ~ 0.99
trap "" 2
setterm -cursor off -bold on
colors=(31 32 33 34 35 36 37)
rfp=("+8" "+9" "+8" "+8")
rfo=("(_/" ") /" "(   )" "Oooo.")
lfp=("+2" "+1" "" "")
lfo=("\_)" "\ (" "(   )" ".oooO")
feet () {
   while :; do
      left_foot=$(($RANDOM % $((`tput cols` - 12)))) || exit -1
      act_foot=$((RANDOM % 2))      
      color=${colors[$(($RANDOM % ${#colors[*]}))]}
      seed=$((RANDOM % 4))
      delay=.$(((RANDOM % 8) + 4))
      actline=$(tput lines)
      while :; do
         for i in $(seq $seed 4); do
            [ $((actline--)) -ge 1 ] || break
            if [ $act_foot -eq 0 ]; then
               tput cup $((actline)) $((left_foot ${rfp[$i]}))
               echo -e "\e[$color;1m""${rfo[$i]}""\c\e[m"
            else
               tput cup $((actline)) $((left_foot ${lfp[$i]}))
               echo -e "\e[$color;1m""${lfo[$i]}""\c\e[m"
            fi
         done
         if [ $act_foot -eq 0 ]; then
            act_foot=1
         else
            act_foot=0
         fi
      [ $actline -ge 1 ] || break
         seed=0
         sleep $delay
      done
   done
}
feet &
read -rs -n 1
echo -e "\e[m"
setterm -reset
clear
pkill feet

Scripts recomendados

RWmp4FlvAVIXvid

Data e Hora (Observatório Nacional) usando o "Lynx"

Remover arquivos com mais de "N" dias da Lixeira do Samba

Shell script para duplicação de CD's

Zget um wget com GUI


  

Comentários
[1] Comentário enviado por SMarcell em 18/08/2008 - 14:12h

Só faltou adicionar comentários, para facilitar a compreensão do que cada linha faz!

[2] Comentário enviado por edner_bertao em 18/08/2008 - 14:45h

Olá Valtoir !

Interessante seu script... acho que poderá servir de inspiração para outras coisas.

Parabéns !

[3] Comentário enviado por edirlf em 18/08/2008 - 20:29h

hahaha, que show de bola.
Vai pro favoritos, não pelas pegadas, mas pelo código, acho que vou aprender bastante coisa com isso.
Parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts