private void BFSToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string message;

            bfs.init(map);
            if (bfs.search(map))
            {
                message = "结果:找到路径。";
            }
            else
            {
                message = "结果:没有找到路径。";
            }
            mapMark = bfs.getMapMark();
            path    = bfs.getPath();
            drawMapMark();
            if (TimeToolStripMenuItem.Checked)
            {
                TickTimer timer = new TickTimer();
                int       total = 0;
                for (int i = 0; i < 20; i++)
                {
                    bfs.init(map);
                    timer.start();
                    bfs.search(map);
                    total += timer.getElapsedTime();
                }
                MessageBox.Show("广度优先搜索\n用时:" + Convert.ToString(total / 20.0) + "ms.\n" + message);
            }
        }
Esempio n. 2
0
        private void InitGui()
        {
            InitSetting();
            CalculateRate();
            //            InitPlayerItemList();
            //            InitMarkItemList();
            _safeCircle   = new BaneCircle(safeDuquanRoot, false, true);
            _duquanCircle = new BaneCircle(curDuquanRoot, true, true);
            _bombArea     = new BombArea(curBombAreaRoot);
            _safeMiniDis  = new SafeMiniDis(miniDisRoot);
            if (!MapLevel.Min.Equals(adapter.MapLevel))
            {
//                _mapGird = new MapGird(lineRoot);
//                _mapGird1 = new MapGird1(girdRoot);
            }
            _mapGird1 = new MapGird1(girdRoot);
            InitMapBg();
            _airPlane  = new AirPlane(kTouRoot, Loader);
            _routeLine = new RouteLine(routeRoot);
            _mapLabel  = new MapLabel(labelRoot);
            _mapPlayer = new MapPlayer(playItemRoot);
            _mapMark   = new MapMark(markRoot);
            _bioMark   = new BioMark(bioMarkRoot);
            PreparedSprite();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            TickTimer  t  = new TickTimer();
            TicksTimer tt = new TicksTimer();

            //Program program = new Program();
            ArrayMap map = new ArrayMap(5, 10);
            //ArrayMap map1 = new ArrayMap(5, 10);
            MapMark mapMark = null;
            BFS     bfs     = new BFS();
            AStar   astar   = new AStar();
            //List<MyPoint> pathList;

            int total  = 0;
            int total2 = 0;

            do
            {
                total  = 0;
                total2 = 0;
                map.clear();
                map.setObstacle();

                astar.init(map);
                t.start();
                astar.search(map);
                total += t.getElapsedTime();

                bfs.init(map);
                t.start();
                bfs.search(map);
                total2 += t.getElapsedTime();

                Console.WriteLine("AStar:\t" + total);
                mapMark = astar.getMapMark();
                if (mapMark != null)
                {
                    mapMark.show();
                }

                Console.WriteLine("BFS:\t" + total2);
                mapMark = bfs.getMapMark();
                if (mapMark != null)
                {
                    mapMark.show();
                }
            } while (Console.ReadLine() != "x");

            //链表测试
            //SortedLinkedList<int> h = new SortedLinkedList<int>();
            //Random r = new Random();
            //int temp;
            //for (int i = 0; i < 10; i++)
            //{
            //    temp = r.Next(100);
            //    Console.Write(temp);
            //    Console.Write("\t");
            //    h.sortedInsert(temp, compare);
            //}
            //Console.WriteLine();
            //Console.WriteLine("in the list:");
            //h.show();
            //for (int i = 0; i < 10; i++)
            //{
            //    Console.Write(h.getFirst());
            //    Console.Write(" is removeed. remain: ");
            //    h.removeFirst();
            //    Console.WriteLine(h.getCount());
            //    h.show();
            //}

            //队列测试
            //ArrayQueue<int> q = new ArrayQueue<int>(5);
            //Console.Write("count:\t");
            //Console.Write(q.getCount());
            //Console.Write("\t");
            //Console.WriteLine(q.getSize());
            //q.show();
            //for (int i = 0; i < 12; i++)
            //{
            //    q.enqueue(i);
            //    Console.Write("count:\t");
            //    Console.Write(q.getCount());
            //    Console.Write("\t");
            //    Console.WriteLine(q.getSize());
            //    q.show();
            //}

            Console.ReadLine();
        }
Esempio n. 4
0
 public MapMark GetMapMark(string markName) => MapMark.Parse(WZ.Resolve($"Map/MapHelper.img/mark/{markName}"));