Example #1
0
        private void button2_Click(object sender, RoutedEventArgs e)
        {
            ////产生随机迷宫(数组):
            //RandomMaze_Config config = new RandomMaze_Config();
            //new ConfiguratedByForm(config);
            //config.Produce();
            //if (config.RandomMapStyle == RandomMapStyle.RandomMaze)
            //    mapModel.generateMap(group, config.Map, config.Width, config.Height);
            //else
            //    mapModel.generateMap3D(group, config.Map3D, config.Width, config.Height, config.Depth);

            //产生随机迷宫(IPosition_Connected):
            RandomMaze_IPosition_Connected_Config config = new RandomMaze_IPosition_Connected_Config();

            new ConfiguratedByForm(config);
            set = config.Produce();

            group.Children.Clear();
            mapModel.generateMap_from_IPosition_ConnectedSet(group, set);
        }
        public void TestMethod1()
        {
            //
            // TODO: Add test logic	here
            //
            RandomMaze_IPosition_Connected_Config config = new RandomMaze_IPosition_Connected_Config();

            config.Width  = 3;
            config.Height = 3;
            config.Depth  = 3;
            IPosition_ConnectedSet set = config.Produce();

            IPosition_Connected a = null, b = null;

            foreach (IPosition_Connected p in set)
            {
                if (a == null)
                {
                    a = p;
                }
                b = p;
            }

            AStar search = new AStar();

            search.InitEngineForMap(set);
            IPosition_ConnectedSet path = search.SearchPath(a, b);

            if (path != null)
            {
                foreach (IPosition_Connected p in path)
                {
                    Console.WriteLine("{0},{1}", p.GetValue(0), p.GetValue(1));
                }
            }
        }