Files
Untitled-Cat-Game/untitled/ui.py
2026-06-25 16:02:01 -04:00

68 lines
1.3 KiB
Python

import sys
import time
import questionary
from questionary import Choice as Choice
from untitled import content
def clear():
print("\033[2J\033[H", end="", flush=True)
def typewriter(
text,
letter_speed=0.15,
erase_multiplier=0.35,
after_type_delay=1,
after_finish_delay=1,
erase=True,
):
for char in text:
time.sleep(letter_speed)
print(char, end="", flush=True)
time.sleep(after_type_delay)
if erase:
for _ in range(len(text)):
print("\b \b", end="", flush=True)
time.sleep(letter_speed * erase_multiplier)
else:
clear()
time.sleep(after_finish_delay)
def splash():
typewriter(content.STUDIO_NAME)
typewriter(content.GAME_NAME, erase=False)
def select(title, options):
return questionary.select(title, options).ask()
def text(title, default):
return questionary.text(title, default=default).ask()
def confirm(title):
return questionary.confirm(title).ask()
def getch():
if sys.platform == "win32":
import msvcrt
return msvcrt.getwch()
else:
import termios
import tty
fd = sys.stdin.fileno()
old = termios.tcgetattr(fd)
try:
tty.setcbreak(fd)
return sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old)