Cocoa使用GameplayKit人工智能影响用户UI的解决

在4 IN Row游戏中,通过GameplayKit实现的AI会在玩家落子后导致UI卡顿。问题源于AI计算时阻塞了主线程。解决方案是将AI计算移到后台线程,并调整局部变量,确保UI流畅更新。经过修改,AI虽然仍显得不那么智能,但已解决了UI卡顿问题。
摘要由CSDN通过智能技术生成

一个4 IN Row小游戏,改写自Apple官方App的源代码。游戏用iOS9引入的游戏框架GameplayKit实现AI。玩家和电脑轮流下子,当任意一方连成4个同色棋子则宣告胜利,否则当棋盘下满则为平局,重新开始游戏。

源代码写的很棒!但是有一个小缺陷:当玩家触摸屏幕选择位置放置棋子后,用户界面会卡住直到AI选择下子后,两枚棋子才依次落位,如果你不懂我说的是神马,请看下图:

这里写图片描述

这不符合玩家的直觉,应该是玩家棋子落位后,AI在一定思考后再完成落子,然后再轮到玩家,直到游戏结束!

为了减少AI思考的时间,我们首先减少AI策略树深度,以便于我们调试观察:

//原来是9改为7
strategist.maxLookAheadDepth 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊猫侯佩

赏点钱让我买杯可乐好吗 ;)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值