【发布时间】:2020-08-17 01:12:37
【问题描述】:
我正在使用 C# 制作一个链接器游戏,其中玩家有一个由不同颜色的单元格组成的网格,并垂直、水平或对角连接相同颜色的单元格。目前,我使用的是 5x5 网格。左下坐标为(0,0),右上坐标为(4,4)。
我正在尝试检测死锁的电路板,因此当一种颜色的至少三个单元格可链接时,但我真的很难实现逻辑。
我正在获取某种颜色的所有单元格的列表,我想编写一个函数来检查这些单元格的坐标,看看三个单元格是否彼此相邻。
例如,假设我有以下带有以下蓝色单元格的板(圆圈是蓝色):
x x x x x
x x x o o
x x x o x
o x x x x
o x x o o
我从左到右,从下到上扫描板子,我传入:
0,0
3,0
4,0
0,1
3,2
3,3
4,3
由此,我知道 (3,2) 可以连接到 (3,3),因为它在它上面。然后我知道 (3,3) 可以连接到 (4,3) 的右侧。
有没有人知道如何编写一个函数来遍历这些坐标并检查相邻的坐标?如果它们三个是可连接的,则返回true或false?
谢谢!
【问题讨论】:
标签: c# unity3d coordinates