Example #1
0
        static void TestRandomMaze()
        {
            Graph.GameLevels.RandomMaze rm = new RandomMaze(5, 5, 42, 24), orm = new RandomMaze(5, 5, 42, 24);

            Graph.Util.Output.PrintGraph(rm.G);
            Graph.Util.Output.PrintGraph(orm.G);

            var mst = Graph.Algorithms.MSTFactory.Kruskal(rm.G);

            Console.WriteLine("++MST");
            foreach (var t in mst)
            {
                Console.Write(" (" + t.v0 + ", " + t.v1 + ")");
            }
            Console.WriteLine("\n " + mst.Uf.Components);

            Console.WriteLine("reached components " + mst.Uf.Components + " from " + mst.Uf.Vertices + " vertices");
            Console.Write("components rooted at ");
            foreach (var d in mst.Uf.GetComponentParentVertices())
            {
                Console.Write(" " + d);
            }
            Console.WriteLine();


            Console.WriteLine("\n--MST");
        }
Example #2
0
    public static void Main(string[] args)
    {
        int        mazeSize   = 8;
        int        initialX   = 7;
        int        initialY   = 0;
        RandomMaze randomMaze = new RandomMaze(mazeSize, initialX, initialY);
        Micromouse micromouse = new Micromouse(mazeSize, initialX, initialY, randomMaze.getMaze());

        Console.WriteLine("Locate Center");
    }
Example #3
0
        static void TestRandomSequence()
        {
            Random r = new Random();

            for (int i = 0; i < 22; i++)
            {
                var seed = r.Next();
                Console.Write("Seed " + seed + " ");
                Graph.GameLevels.RandomMaze
                    rm1 = new RandomMaze(1, 1, seed, seed), rm2 = new RandomMaze(1, 1, seed, seed);

                var res = rm1.getSequence().Zip(rm2.getSequence(), (x, y) => new Tuple <int, int>(x, y));

                foreach (var t in res)
                {
                    if (t.Item1 != t.Item2)
                    {
                        throw new Exception("Sequences given mismatch: " + t.Item1 + ", " + t.Item2);
                    }
                    Console.Write(" " + t.Item1);
                }
                Console.WriteLine("");
            }
        }