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"); }
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"); }
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(""); } }