2023-11-04 22:36:22 +01:00
|
|
|
#!/usr/bin/python3
|
|
|
|
import os
|
|
|
|
from pynput import keyboard
|
|
|
|
from time import sleep
|
|
|
|
|
2023-11-06 16:13:41 +01:00
|
|
|
|
2023-11-04 22:36:22 +01:00
|
|
|
def clear():
|
|
|
|
if os.name == "nt":
|
|
|
|
os.system("cls")
|
|
|
|
else:
|
|
|
|
os.system("clear")
|
|
|
|
|
2023-11-06 16:13:41 +01:00
|
|
|
|
2023-11-04 22:36:22 +01:00
|
|
|
def on_press(key):
|
|
|
|
global running
|
|
|
|
if key == keyboard.Key.space:
|
|
|
|
running = False
|
|
|
|
|
2023-11-06 16:13:41 +01:00
|
|
|
|
2023-11-04 22:36:22 +01:00
|
|
|
def on_release(key):
|
|
|
|
global running
|
|
|
|
if key == keyboard.Key.esc:
|
|
|
|
# Stop listener
|
|
|
|
running = "finito"
|
|
|
|
|
2023-11-06 16:13:41 +01:00
|
|
|
|
|
|
|
listener = keyboard.Listener(on_press=on_press, on_release=on_release)
|
2023-11-04 22:36:22 +01:00
|
|
|
|
|
|
|
listener.start()
|
|
|
|
|
|
|
|
tx, ty = os.get_terminal_size().columns, os.get_terminal_size().lines
|
|
|
|
txhalb = int(tx / 2)
|
|
|
|
wobble_speed = 0.01
|
|
|
|
wobble_pos = 0
|
|
|
|
wobble_way = "right"
|
|
|
|
running = True
|
|
|
|
while running == True:
|
2023-11-06 16:13:41 +01:00
|
|
|
wobl = "-" * (tx - wobble_pos - 5)
|
|
|
|
wobr = "-" * wobble_pos
|
2023-11-04 22:36:22 +01:00
|
|
|
wobbl = f"{wobr}🐄️{wobl}"
|
2023-11-06 16:13:41 +01:00
|
|
|
print(" " * txhalb, "↓")
|
2023-11-04 22:36:22 +01:00
|
|
|
print(f"[{wobbl}]")
|
|
|
|
print(wobble_pos)
|
|
|
|
|
|
|
|
if wobble_way == "right":
|
|
|
|
wobble_pos += 1
|
|
|
|
else:
|
|
|
|
wobble_pos -= 1
|
|
|
|
|
2023-11-06 16:13:41 +01:00
|
|
|
if wobble_pos >= tx - 1:
|
2023-11-04 22:36:22 +01:00
|
|
|
wobble_way = "left"
|
|
|
|
elif wobble_pos == 0:
|
|
|
|
wobble_way = "right"
|
|
|
|
|
|
|
|
sleep(wobble_speed)
|
|
|
|
clear()
|
|
|
|
|
|
|
|
if running == "finito":
|
|
|
|
exit()
|
|
|
|
|
|
|
|
if wobble_pos > txhalb:
|
|
|
|
wobble_site = "left"
|
|
|
|
else:
|
|
|
|
wobble_site = "right"
|
|
|
|
|
|
|
|
if wobble_site == "right":
|
|
|
|
points = wobble_pos
|
|
|
|
else:
|
2023-11-06 16:13:41 +01:00
|
|
|
points = tx - wobble_pos
|
2023-11-04 22:36:22 +01:00
|
|
|
|
2023-11-06 16:13:41 +01:00
|
|
|
point_quote = points - tx / 100
|
|
|
|
for a in range(points * 2):
|
|
|
|
print("-" * a + "🐄️", end="\r")
|
2023-11-04 22:36:22 +01:00
|
|
|
sleep(0.01)
|
2023-11-06 16:13:41 +01:00
|
|
|
print("\n", point_quote, "%")
|