Android上的Connect4,计时问题

时间:2015-09-06 09:24:47

标签: java android game-engine minimax

我正在Android中开发一个简单的Connect4游戏。

目前我正在使用具有alpha-beta修剪和位板状态表示的minimax算法,因此搜索非常有效且快速。

通过设置算法在游戏树内进行DFS搜索时应达到的最大深度来设置技能。

我注意到选择一个动作所需的时间取决于我们在游戏中的距离:一开始它需要更多的时间(因为有很多可能的探索),在游戏中期它需要合理的数量时间和接近结束非常快。

我的问题是,如果我设置一个给定的技能,用户必须等待第一次/第二次/第三次移动。我想加快光圈,但我怀疑它甚至取决于硬件本身我想要如何实现加速过程。

我可以为运行DSF mimimax的线程设置超时吗?

1 个答案:

答案 0 :(得分:1)

解决此问题的最简单方法是在前几个步骤中使用一本开头书。开场书是给定场景的一组预定动作。由于开始移动的可能的板状态相对较少,因此您可以轻松编译前三个转弯的所有可能移动的数据库,并调用它而不是实际进行搜索。因此,您不再需要超时,并且加快了搜索的准确性。