我正在学习c#和编程。我有这项任务要找到一条走出迷宫的道路。
我有一个2D矩阵,其中:
我写了这段代码:
public static bool PathFinder(MapFile map)
{
for (int y = 0; y < map.height; y++)
{
for (int x = 0; x < map.width; x++)
{
if (map.Matrix[x, y] == 3)
{
map.Matrix[x, y] = 11;
map.start = true;
return map.end;
}
if (map.Matrix[x, y] == 2)
{
map.Matrix[x, y] = 9;
return map.end;
}
if (map.Matrix[x, y] == 1)
{
return map.end;
}
if (map.Matrix[x, y] == 5)
{
map.Matrix[x, y] = 11;
map.end = true;
return map.end;
}
}
}
问题是我不明白如何检查矩阵上的点是否是有效路径,然后走到下一点。
我应该考虑哪些方面以及尝试寻找解决方案的方向?
OBS。:
map.start是一个布尔值,如果找到迷宫的起点,则返回true。
map.end是一个布尔值,如果找到迷宫的末尾则返回true。
值9和11只是我用来改变控制台上该点颜色的参考。