我有一个问题,我确信可能已经有很多有效的解决方案。为了简化,我们假设两种类型的单元的网格宽度单元格," X"细胞和" o"细胞。
5 +-+-+-+-+-+-+-+-+-+-+-+
|X|X|o|X|X|o|o|o|o|o|X
4 +-+-+-+-+-+-+-+-+-+-+-+
|o|X|o|o|X|o|o|o|o|o|X
3 +-+-+-+-+-+-+-+-+-+-+-+
|o|X|X|X|X|o|o|X|o|o|X
2 +-+-+-+-+-+-+-+-+-+-+-+
|X|o|o|X|X|X|X|X|X|o|X
1 +-+-+-+-+-+-+-+-+-+-+-+
|X|X|o|o|X|X|X|o|o|o|X
+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3 4 5 6 7 8
现在其中一个" X"正在选择细胞。
+-+-+-+-+-+-+-+-+-+-+-+
|X|X|o|X|X|o|o|o|o|o|X
+-+-+-+-+-+-+-+-+-+-+-+
|o|X|o|o|X|o|o|o|o|o|X
+-+-+-+-\-/-+-+-+-+-+-+
|o|X|X|X<*>o|o|X|o|o|X
+-+-+-+-/-\-+-+-+-+-+-+
|X|o|o|X|X|X|X|X|X|o|X
+-+-+-+-+-+-+-+-+-+-+-+
|X|X|o|o|X|X|X|o|o|o|X
+-+-+-+-+-+-+-+-+-+-+-+
我需要知道的是所有相邻的&#34; X&#34; &#34; X&#34;所选单元格所在的覆盖区域。 &#34; X&#34;没有直接连接并被&#34; o&#34;该组的细胞被排除在外。见下图。
+.+.+-+.+.+-+-+-+-+-+-+
: :o: :o|o|o|o|o|X
+.+ +-+.+ +-+-+-+-+-+-+
|o: :o|o: :o|o|o|o|o|X
+-+ +.+.+ +-+-+.+-+-+-+
|o: :o|o: :o|o|X
+-+.+. .+.+ +.+-+-+
|X|o|o: |o|X
+-+-+-+.+ +.+.+-+-+
|X|X|o|o: :o|o|o|X
+-+-+-+-+.+.+.+-+-+-+-+
基本上它是一个简单的&#34;填充&#34;功能,我需要找到该区域的边界来填补。 我确信这种事情甚至还有一个特定的名称。告诉我,也将不胜感激:))