3

我已经编写了一些事件驱动的 iOS 应用程序,但这并没有让我为我现在的工作做好充分的准备,我需要一些建议。

我有一个简单的策略游戏设计,我使用视图、动画块和手势识别器进行了原型设计。有了棋盘、招式和基本用户界面,我才刚刚开始创建 AI 玩家,并意识到我并不清楚最好的方法。我需要在不阻塞主线程的情况下生成 AI 移动事件和生成的动画。几年前我可能使用过经典的游戏循环模式,但我想避免在 iOS 中这样做,因为它不会让我觉得我可以在非游戏应用程序中使用它,我的目标之一是扩展我对如何构建 iOS 应用程序的理解。

我读过有关 GCD 的文章,我的感觉是可以使用 GCD 在主线程之外完成很多工作,但不清楚我将如何协调各个部分。例如,AI 需要评估棋盘,但每次参与者更改棋盘时,当前的评估都会失效。我是否设置了一个队列来管理董事会状态?我是否将每个 AI 玩家放在一个队列中?当 AI 选择最佳动作时,打断它的最佳方法是什么?

有没有人有我的应用程序需要支持这种架构的草图?我正在寻找我可以在一般情况下使用的模式,而不仅仅是在游戏中。如果有人知道这样的事情,我可以尝试的一些工作示例代码将是完美的。谢谢!

4

0 回答 0