大家好!
我已经用 PyGame 制作了 q-learned 汽车AI,并且运行良好!但是,当我想以玩家控制的汽车的形式与汽车游戏进行某种交互时,也遇到了问题。
我的问题是 q-learning 的循环需要一直运行才能使代理移动,但这会使AI汽车以闪电般的速度移动,而这通过使用睡眠功能已经解决了。睡眠功能使无法获得正确的按键,并且动作变得笨拙。
之所以AI移动如此之快,是因为AI每循环移动“一个图块”,这是因为实现了 q-learning 算法的观察空间。
目前,我尝试使用线程解决问题,但是由于我在pygame中遇到错误(例如
),因此无法正常工作pygame.error: display Surface quit
和
pygame.error: video system not initialized
当我不使用踩踏时不会发生的错误。
学习了一段时间后,我找不到其他方法来做这件事了。
我的问题:我可以通过其他方式解决此问题吗?我想要 使Agent(红色汽车)仅每隔一帧更新一次的方法 或某些东西,或通过使用线程,但到目前为止我所做的很清楚 不起作用!
我希望我可以从比我有更多PyGame和python经验的人那里得到一些建议!预先谢谢你!
Ps。我没有包含任何代码,因为该项目太大而无法包含在一篇文章中。如果您希望我发布任何代码,只需询问!