Example #1
0
        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);
        }
Example #2
0
        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);
        }