我目前正在使用下面的websocket库来创建文本游戏(MUD)。这是基本的websocket代码: https://github.com/Pithikos/python-websocket-server
websocket内部有一个名为service_actions的函数,该函数在每.5s内循环一次。
我在游戏中创建了很多工作,对象可以交互,并且可以将结果打印到适当的客户端。
但是,我遇到的问题是游戏循环。到目前为止,我并不需要一个,因为一切都可以进行反应。如果您得到一件物品或发射武器,正确的功能就会运行并影响物体。
我需要能够定期检查事物,例如:如果玩家与NPC在同一个房间,那么游戏会执行某些操作。进行此操作以及进行许多其他类似检查的唯一方法是不断循环游戏事件。我对时间表很熟悉。
不幸的是,我找不到解决办法。在websocket库中,有一个“ service_actions”函数以我所描述的方式循环播放,但是将websocket导入到其他文件以能够使用其方法,例如send_message等。因此,我无法将其他游戏文件导入websocket以在service_actions中运行。
开发能够实现我上面所述内容的游戏循环的方法是什么?是访问service_actions循环还是创建完全不同的循环机制?
如果有帮助,我不是多线程的。