寻找矩阵算法

时间:2012-08-27 14:56:42

标签: algorithm

我正在尝试制作一款游戏,我发现自己正试图重新发明可能已存在的车轮。

以下是我正在尝试解决的问题示例。我正在尝试检查是否有任何棋盘碎片落入另一个玩家的区域内,在这种情况下,黑色棋子被捕获。

W W - - 
- - W - 
- B W - 
- - W - 

任何有关解决此问题的建议都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

哦,好吧,如果我的一条评论被作为答案,那么对于代表来说也许是妓女:

看起来flood-fill algorithm的变体(通常用于图像分割)会对您有用。

答案 1 :(得分:0)

这听起来像是一个可达性问题。

黑色部分所处的位置显然是可以到达的。它可以向上,向下或向左移动,但不向右移动。此外,它永远不会到达右上角位置(除非它可以沿对角线移动)。

  1. 打开位置的队列包含作品的位置 本身。

  2. 虽然有空缺职位:

    • 将该位置标记为可到达,
    • 将邻居位置添加到未结头寸的队列。
  3. 如果仍有无法到达的位置,您可以认为该作品“被困”。