def __init__(self): super().__init__() def run(self): global running while running: c = str(msvcrt.getch()) if c == "b'q'": running = False input_thread = InputThread() input_thread.start() count = 0 while running: # ai设定n帧移动一次 if count > 0: death = ai.action(radblock, beans) count = 0 count += 1 # 将墙的坐标导入 displayer.extend_points(wall.points1) # 绘制图像 displayer.draw__graphics(ai.points, radblock.points2, beans.point3) # 清屏 displayer.clear() # time.sleep(snake.sleep_time) time.sleep(1)
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)