Python Pygame在进行计算时没有响应

Python Pygame在进行计算时没有响应,python,pygame,Python,Pygame,我目前正在pygame中开发一款AI v AI游戏,我刚刚完成它,但其中一个功能没有按预期工作。 它是这样的(在pygame.event.get()循环中): compute_data函数可能需要0.5秒,但在大约30次pygame窗口停止响应后,在20秒后返回事件循环时,它会显示最终结果。第四个问题是循环中的循环导致的计算数据和重新绘制窗口连续执行100次。同时,窗口不响应,因为事件未被处理。内部循环阻塞应用程序,直到循环终止 更改设置并在应用程序循环之前初始化变量count,并在循环中递增c

我目前正在pygame中开发一款AI v AI游戏,我刚刚完成它,但其中一个功能没有按预期工作。 它是这样的(在pygame.event.get()循环中):


compute_data函数可能需要0.5秒,但在大约30次pygame窗口停止响应后,在20秒后返回事件循环时,它会显示最终结果。

第四个问题是循环中的循环导致的<代码>计算数据和
重新绘制窗口
连续执行100次。同时,窗口不响应,因为事件未被处理。内部循环阻塞应用程序,直到循环终止

更改设置并在应用程序循环之前初始化变量
count
,并在循环中递增
count

要通过输入启动流程一次,然后向应用程序添加变量
start
,并在输入事件中设置变量:

start=False
计数=0
尽管如此:
# [...]
对于pygame.event.get()中的事件:
# [...]
如果event.type==右输入:
#开始这个过程
开始=真
如果启动:
#运行进程
如果计数小于100:
数据=计算数据(变量)
重新绘制窗口(数据)
计数+=1

@Shainy\u oreng我已经更改了答案。
if event.type == right_input:
    for e in range(100):
        data = compute_data(variables)
        re_draw_window(data)