from threading import Thread from screen import Screen from timer import Timer from getkey import getkey class Tetris: def __init__(self) -> None: self.screen = Screen(10, 20, '..') self.last_char = '' self.input_thread = Thread(target=self.input, daemon=True) self.input_thread.start() self.timer = Timer() def start(self) -> None: self.running = True while self.running: self.timer.control_fps(30) self.screen.print() def stop(self) -> None: self.running = False self.timer.running = False self.input_running = False def input(self) -> None: self.input_running = True while self.input_running: self.last_char = getkey() match self.last_char: case 'q': self.stop() return def main() -> None: game = Tetris() game.start() if __name__ == "__main__": main()