47 lines
967 B
Python
47 lines
967 B
Python
|
#!/usr/bin/python3
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
|
||
|
import os, sys, termios, tty, time, random
|
||
|
from math import sin, cos, sqrt
|
||
|
from time import sleep
|
||
|
|
||
|
|
||
|
termsize_xy = os.get_terminal_size()
|
||
|
xmax = termsize_xy[0] - 1
|
||
|
ymax = termsize_xy[1]
|
||
|
|
||
|
tree = "🌳"
|
||
|
frequency = int(xmax / 5)
|
||
|
street = tree
|
||
|
for i in range(0, frequency):
|
||
|
street += " "
|
||
|
street += tree
|
||
|
streetwidth = len(street)
|
||
|
amplitude = (xmax - streetwidth*4) / 3
|
||
|
streetpos = amplitude
|
||
|
pi = 3.1416
|
||
|
deg2rad = pi / 180
|
||
|
toggle = 1
|
||
|
maxpos = xmax - streetwidth
|
||
|
maxamp = xmax - streetwidth / 3
|
||
|
|
||
|
|
||
|
def curpos(x, y):
|
||
|
print("\033[%d;%dH" % (y, x), end="", flush=True)
|
||
|
|
||
|
|
||
|
while True:
|
||
|
sleep(0.01)
|
||
|
amplitude += toggle
|
||
|
frequency = frequency + toggle
|
||
|
streetpos = int(sin(frequency * deg2rad) * cos(frequency * deg2rad + 1) * amplitude + streetwidth*4)
|
||
|
frequency += toggle
|
||
|
curpos(streetpos, ymax)
|
||
|
print(street)
|
||
|
if amplitude >= maxamp or amplitude < 3:
|
||
|
toggle *= -1
|
||
|
|
||
|
|
||
|
sys.exit("Schulz nun.")
|