#!/usr/bin/env python3

from math import sin, cos, pi, fmod
from time import sleep
from random import randint, choice
import shutil

def print_tc(string, fg, bg):
    print("\x1b[38;2;{};{};{};48;2;{};{};{}m{}".format(fg[0], fg[1], fg[2],
        bg[0], bg[1], bg[2], string), end="")

bars = [
' ',
'▏',
'▎',
'▍',
'▌',
'▋',
'▊',
'▉']
n = 12

t = 0
while(1):
    p = 3 + 3*sin(t/300)
    width = 8 + 8 * shutil.get_terminal_size((80,25))[0]
    hue = (0.5*(1+cos(t*0.017)), 0.5*(1+sin(t*0.013)), 0.5*(1+sin(t*0.011)))
    spokes = sorted([int(width/2 + width/2 * -cos(fmod(p+i*pi/n, pi)))
            for i in range(n)]) + [width]
    vs = [10 + 245*sin(pi*s/width) for s in spokes]
    colors = [(int(hue[0]*v), int(hue[1]*v), int(hue[2]*v)) for v in vs]
    print_tc("\n", colors[0], colors[0])
    s = 0
    for i in range(8, width, 8):
        if(spokes[s] >= i):
            print(' ', end="")
        else:
            print_tc(bars[spokes[s]%8], colors[s], colors[s+1])
            s += 1
    sleep(0.01)
    t += 1

The entries are the properties of their respective owners.
Powered by Flask, SQLAlchemy, Pygments and Bootstrap.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.