Esempio n. 1
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            Console.Title          = Name;
            Console.CursorVisible  = false;
            Console.WriteLine(Name);
            Console.WriteLine("청강문화산업대학교 201613018 최지헌, 2020-12");
            Console.WriteLine();
            Console.WriteLine("타일맵 테스트");
            var tilemap = Tilemap.Load("Tilemap.txt");

            Console.WriteLine(tilemap.ToMapString(true));
            Console.WriteLine();
            Console.WriteLine("패스파인딩맵 테스트");
            var pathFindingMap = new PathFindingMap(tilemap, new Point(1, 1));

            pathFindingMap.Path = new System.Collections.Generic.List <Direction>()
            {
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Down,
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Right,
                Direction.Down,
                Direction.Up,
            };
            Console.WriteLine(pathFindingMap.ToMapString(true));



            //Console.Write("생각중...");
            //for (int i = 0; i < 1000; i++)
            //{
            //    Console.Write('|');
            //    Thread.Sleep(100);
            //    Console.CursorLeft -= 1;
            //    Console.Write('/');
            //    Thread.Sleep(100);
            //    Console.CursorLeft -= 1;
            //    Console.Write('-');
            //    Thread.Sleep(100);
            //    Console.CursorLeft -= 1;
            //    Console.Write('\\');
            //    Thread.Sleep(100);
            //    Console.CursorLeft -= 1;
            //}
        }
Esempio n. 2
0
        public double Evaluate(PathFindingMap pathFindingMap)
        {
            /*
             * 고려해야할 사항:
             * 1. 라우트 끝점과 목적지간의 거리
             * 2. 라우트의 길이
             */

            // 경로 빌드
            var route = PathFindingMap.GetRoute(
                pathFindingMap.BaseTilemap,
                pathFindingMap.StartPoint,
                pathFindingMap.TargetPoint,
                Datas);

            var length           = route.Count;
            var endPointDistance = Point.GetManhattanDistance(route[^ 0], pathFindingMap.TargetPoint);