Pular para o conteúdo

feet.sh - pseudo screensaver em bash

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.
Valtoir dos Santos Jardim Valtoir
Hits: 6.852 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download feet.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

diario

Importar varius Emolticons de uma vez para amsn

genpass - Simple Password Generator

Backup Interativo

Check_mount NRPE

#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

Entre na sua conta para comentar.