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)