我想知道是否有人在这里使用GKMinmaxStrategist有运气。这个类/功能在WWDC上展示,但大多数示例代码都在Objective-C中,这令人失望。
GameplayKit的WWDC视频推出了另一款游戏Stone Flipper(Reversi / Othello),但他们还没有发布代码(还有?)。
有人有运气吗?我希望只用一个简单的井字游戏尝试这个,但我一点也不确定如何开始。
答案 0 :(得分:3)
我同意这是一个棘手的学习框架 - 我刚刚完成了tutorial about GameplayKit and GKMinmaxStrategist的写作,这绝非易事。如果你按照教程,它从头开始构建一个完整的游戏,解释它们如何组合在一起。你可能会发现它至少可以作为一个起点。
我希望Apple能够在iOS 9决赛之前改进其文档!
如果你想直接潜入,这里至少你需要知道:
NSCopying
协议,因为它会在AI运行时多次复制。GKGameModel
协议,这要求你能够枚举可用的动作,在棋盘副本上移动(实际上,不是真实的),然后判断玩家的分数GKGameModelUpdate
协议,因此它将是您创建的定义特定移动的类。当你选择了最佳动作时,你会得到这个回报,所以它会包含类似#34的东西;将骑士移动到E4"。如果您发现AI运行缓慢,请限制它可以进行的移动次数或减少其前瞻深度。
答案 1 :(得分:2)
这是GKMinmaxStrategist TicTacToe tutorial in Swift。
这应解释事情是如何运作的,并提供一些关于如何制作优秀人工智能的指示。战略家肯定不是创建任何类型的棋盘游戏AI的模板,它只是提供了一个框架。 95%的工作仍然依赖于你的肩膀。 ;)
code is available here。请注意,它不仅需要Xcode 7,还需要OS X 10.11。虽然适应iOS 9应该很简单。