c = str(msvcrt.getch()) # 输入读取 无需回车 if c == "b'q'": running = False elif c == "b'w'": snake.set_toward("UP") elif c == "b's'": snake.set_toward("DOWN") elif c == "b'a'": snake.set_toward("LEFT") elif c == "b'd'": snake.set_toward("RIGHT") input_thread = InputThread() input_thread.start() # 启动子线程,负责输入读取 while running: death = snake.action(bug, wall.points) if death: print("小蛇死了,\n按Q键退出") break displayer.extend_point(wall.points) displayer.extend_point(snake.points) displayer.extend_point(bug.point) # 绘制图像 displayer.draw_graphics(snake.score) displayer.clear() # 清空这一帧的数据 time.sleep(snake.sleep_time)