Esempio n. 1
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);
        }