相关疑难解决方法(0)

当速度是主要关注点时,代表跳棋板的最佳数据结构是什么?

我目前正在实现与跳棋非常相似的东西.所以,我有这个桌面游戏,有白色和黑色的片断.如果没有白色或黑色的碎片,你就没有碎片.

我现在正在做的GetValidMoves()方法是返回当前电路板可以做的所有当前动作.

因此,我想知道什么是代表董事会的最佳方式.天真的方法是有一个0的1和2的矩阵(没有片,白片和黑片).

其他想法是代替电路板的矩阵表示,有2个列表(或任何其他数据结构):一个用于黑色,另一个用于白色.

我正在实现这个游戏来测试一些AI算法,所以我主要关心的是速度.我基本上会让2个AI玩家互相玩,每回合每个玩家应该有一个他所有有效动作的列表,然后他会选择要做的动作,这一直发生直到比赛结束(某些玩家获胜或者有一个领带).

PS:我不是在询问AI算法,我只想知道处理电路板的最佳数据结构是什么,这样就可以轻松实现

  1. 查找当前玩家的所有有效动作
  2. 采取行动
  3. 验证游戏未结束(当一名玩家丢失所有棋子或一名玩家到达棋盘的另一侧时,游戏结束).

algorithm artificial-intelligence

8
推荐指数
2
解决办法
4083
查看次数

标签 统计

algorithm ×1

artificial-intelligence ×1