没有主循环的游戏编程

emb*_*rv3 5 pygame

我的教授今天根据Pygame中的面向对象编程给了我的课.基本上他已经说过我们要创建的游戏将没有主游戏循环.虽然我认为有可能这样做(并且这个问题已经表明它是可能的)我不相信这是遵守面向对象范式所必需的.

在教授给出的图中,他展示了游戏初始化,并且当对象被实例化时,程序的控制流将在对象之间分配.

基本上我认为以这种方式实现游戏是可能的,但它不是一种理想的方式,也不是面向对象的依从性所必需的.有什么想法吗?

编辑:我们正在创建一个小行星克隆,我认为这是因为它是一个实时动作游戏的事实进一步复杂化.

Fin*_*las 7

基于回合的游戏或任何事件驱动将成为可行的途径.换句话说,拿桌面GUI应用程序.他们只是勾选(等待)直到事件被触发.对于简单的游戏也可以这样做.以Checkers为例.循环每个游戏周期都是矫枉过正的.90%的时间游戏都是静态的.使用某种形式的事件(观察者设计模式在这里会很好)将提供更好的解决方案.你正在使用Pygame,所以可能会支持这种内置,由于我的使用有限,我无法完全评论.无论哪种方式,一般原则都是一样的.

总而言之,如果你问我,这是一个非常垃圾的任务.如果它是教你事件驱动编程,一个简单的GUI应用程序会更好.即使是最简单的游戏也是基本的游戏循环,它可以遵循OO原则.