我已经写了一些事件驱动的iOS应用程序,但是这还没有为我现在正在做的工作做好充分准备,我需要一些建议。
我有一个简单的策略游戏设计,我使用视图,动画块和手势识别器进行原型设计。随着董事会,移动和基本用户界面的到位,我刚刚开始创建AI玩家并意识到我并不清楚最好的方法。我需要在不阻塞主线程的情况下生成AI移动事件和生成的动画。多年前我可能使用了经典的游戏循环模式,但是我想避免在iOS中这样做,因为它不会让我成为一种我可以在非游戏应用程序中使用的技术,我的目标之一是扩展我对如何构建iOS应用程序的理解。
我读过关于GCD的内容,我的感觉是可以通过GCD在主线程上做很多工作,但我不清楚如何协调各个部分。例如,AI需要评估电路板,但每次演员更改电路板时,当前评估都会失效。我是否设置了一个队列来管理电路板状态?我是否将每个AI播放器放在一个队列中?在选择最佳移动时,中断AI的最佳方法是什么?
有没有人有我的应用程序需要支持的架构草图?我正在寻找一般可以使用的模式,而不仅仅是在游戏中。如果有人知道这样的事情,我可以试验的一些工作示例代码将是完美的。谢谢!