0

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

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

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

任何有关解决此问题的建议将不胜感激。

4

2 回答 2

2

哦,好吧,如果我的评论之一被作为答案,还不如妓女代表:

看起来好像洪水填充算法的变体(通常用于图像分割)对您有用。

于 2012-08-28T10:01:37.830 回答
0

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

黑色棋子所在的位置显然是可以到达的。它可以向上、向下或向左移动,但不能向右移动。此外,它永远无法到达右上角(除非它可以沿对角线移动)。

  1. 未结头寸队列包含棋子本身的位置。

  2. 虽然有空缺职位:

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

于 2012-08-27T15:07:25.807 回答