Faça chover no seu terminal com este script Python

A tarefa deste pequeno script Python é simular chuva no seu terminal.
O meu exemplo foi rodado com o Python 2, em uma máquina Debian Linux. Sinta-se à vontade para experimentar em outras plataformas contudo.

O script, abaixo, joga 100 “gotas” aleatórias de “chuva” no seu terminal e é um ótimo exemplo do uso da função random no Python.

Se você não tiver um compilador ou interpretador Python disponível, no momento, experimente um destes compiladores/interpretadores online.
python como fazer chover ou nevar no terminal
Veja o que mais o script faz:

  • o script usa o caractere “/” para representar as gotas de chuva. Mas você pode escolher qualquer outro.
    Se você trocar o caractere “/” para ” ‘ “, o efeito vai parecer que está caindo neve no seu terminal;
  • ao final da chuva, uma mensagem é exibida centralizada na tela.
  • roda em qualquer tamanho de terminal;

Segue o código:

import curses
import random
import time

myscreen = curses.initscr()
curses.curs_set(0) # no cursor please 
HEIGHT, WIDTH = myscreen.getmaxyx() 
RAIN = '/' # altere aqui a aparencia da sua gota de chuva 
TIME = 10 

def make_it_rain(window, tot_time, msg, wait_time, num_drops):
    """
    window    :: a janela no curses 
    time      :: duracao da chuva
    msg       :: mensagem exibida ao final da chuva
    wait_time :: tempo de espera entre cada quadro
    num_drops :: quantidade de gotas
    """
    for _ in range(tot_time):
        for i in range(num_drops):
            x,y=random.randint(1, HEIGHT-2),random.randint(1,WIDTH-2)       
            window.addstr(x,y,RAIN)
        window.refresh()
        time.sleep(wait_time)
        window.erase()

    window.refresh()
    window.addstr(HEIGHT/2, int(WIDTH/2.7), msg)


if __name__ == '__main__':
    make_it_rain(myscreen, TIME, 'IT HAS STOPPED RAINING!', 0.2, 100)
    myscreen.getch()
    curses.endwin()

Eu gravei o meu script com o nome de chuva.py
Compile, com o Python 2:

python2 chuva.py

Referências

http://codegolf.stackexchange.com/questions/107545/its-raining-in-terminal.

Transforme a webcam em um espelho côncavo com o mplayer no Linux

Esta dica faz uso do programa mplayer para distorcer a imagem obtida pela sua webcam e exibi-la ao vivo em um quadro, na sua tela.
O procedimento pode ser usado por qualquer usuário iniciante (se você estiver com disposição para se divertir um pouco, será melhor ainda).
Note que é necessário usar os softwares contidos no pacote do mplayer2 — a versão padrão do mplayer, que vem instalada no Ubuntu 14.04 ou Debian 7.0 não permite fazer a brincadeira.
Para isto, faça a instalação do pacote:

sudo apt-get install mplayer2

Aguarde a instalação.
Agora, execute o seguinte comando:

mplayer --vf=geq='(p(X\,Y*sin(X/128))-0)' tv://

captura de tela do mplayer webcam
Na verdade, não sou tão feio assim… :p

Você pode alterar o valor do seno, entre parẽnteses sin(X/128). Originalmente, o valor usado era sin(X/512).
Faça as suas experiências.
A opção --vf=geq faz uso de um dos muitos recursos do mplayer: os filtros.
Ela ativa o filtro de equações — que pode usar várias constantes.


Se tiver filhos, eles(as) irão adorar a brincadeira.
Divirta-se!