static void Main(string[] args) { int[,] labirint = CreateLabirint(); PrintLabirint(labirint); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Graph graph = new Graph(); Verterx input = new Verterx(0, 9); Verterx output = new Verterx(15, 9); graph = DFS(labirint, graph, input, output); }
static Graph DFS(int[,] labirint, Graph graph, Verterx input, Verterx output) { //Dictionary<int, string> countries = new Dictionary<int, string>(5) int i = input.Y + 1; int j = input.X; graph.Get().Add(input); for (; ;) { if (output.X == j && output.Y == i) { Console.WriteLine("Output Findet"); break; } else if (labirint[i + 1, j] == 0 && !graph.Get().Contains(new Verterx(i + 1, j))) { graph.Get().Add(new Verterx(i + 1, j)); i++; Console.Write("[" + i + ", " + j + "]"); continue; } else if (labirint[i, j - 1] == 0 && !graph.Get().Contains(new Verterx(i, j - 1))) { graph.Get().Add(new Verterx(i, j - 1)); j--; Console.Write("[" + i + ", " + j + "]"); continue; } else if (labirint[i, j + 1] == 0 && !graph.Get().Contains(new Verterx(i, j + 1))) { graph.Get().Add(new Verterx(i, j + 1)); j++; Console.Write("[" + i + ", " + j + "]"); continue; } else if (labirint[i - 1, j] == 0 && !graph.Get().Contains(new Verterx(i - 1, j))) { graph.Get().Add(new Verterx(i - 1, j)); i--; Console.Write("[" + i + ", " + j + "]"); continue; } } return(graph); }