def startGame(): mystdout = StdOutWrapper() sys.stdout = mystdout sys.stderr = mystdout curses.initscr() curses.beep() curses.beep() window = curses.newwin(HEIGHT, WIDTH, 0, 0) window.timeout(TIMEOUT) window.keypad(1) curses.noecho() curses.curs_set(0) window.border(0) snake = Snake(SNAKE_X, SNAKE_Y, window) food = Food(window, snake) astar = AStar() while True: window.clear() window.border(0) # rendering the objects snake.render() food.render() window.addstr(0, 5, snake.getScore) event = window.getch() if event == 27: break if snake.head.x == food.x and snake.head.y == food.y: snake.eatFood(food) curses.beep() event = astar.getKey(food, snake) # print(event) if event in (KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT): snake.makeMove(event) snake.update() if snake.collided(): break curses.endwin() print(f"High score :: {snake.score}") sys.stdout = sys.__stdout__ sys.stderr = sys.__stderr__ sys.stdout.write(mystdout.get_text())