首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >博弈与多处理策略

博弈与多处理策略
EN

Stack Overflow用户
提问于 2013-06-22 11:22:43
回答 1查看 1.1K关注 0票数 1

我正在用游戏开发一个游戏,我不知道应该把哪些任务交给哪个进程。

我有两个由管道连接的过程,一个是窗口,另一个是计算。

我的问题是:主循环的哪些部分应该转到另一个进程?

在我的游戏中,我将不得不做事件处理,碰撞检测,人工智能,绘图和重计算(2D照明系统)。

我担心,如果我把很多东西在另一个过程中,主要的一个将不得不等待输入和FPS将冻结。

PS:现在我才刚开始对游戏进行编码,所以我不能给你们看太多的代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-22 12:36:39

观察者模式

我建议使用以下架构来创建具有两个进程的PyGame:

您将您的程序分为两部分:

  1. 模型 所有的游戏逻辑都被保存在子过程中,计算整个游戏。每当有什么值得注意的更改时,它都会通知另一个进程。 职责:
代码语言:javascript
运行
复制
- update the game e.g. in a loop
- do physics
- send updates to the gui

  1. gui gui是在主要的过程中,因为它开始了几场比赛。当游戏开始时,它开始观察游戏的重要部分。 责任
代码语言:javascript
运行
复制
- handle user input e.g. right arrow pressed
- send modifications to the model e.g. player walks righth
- render views of model elements when updates are received

请注意,我对PyGame的了解并不多。但是将模型和视图分开是可能的。

你也可以看看MVC模式。但它真的很重。如果程序不能在计算机上分发,那么仅仅合并View和Controller就足够了。

然后我听说了MVVM模式的事。不知道这是不是太过分了,因为你只需要把你的游戏分成两部分,而不是三部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17250197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档