Exemple #1
0
        public Algorithm(TileWorld.TileWorld world)
        {
            this.world = world;

            // Find the start and goalNode.
            int startX = 0;
            int startY = 0;
            int goalX  = 0;
            int goalY  = 0;

            for (int x = 0; x < world.getWidth(); x++)
            {
                for (int y = 0; y < world.getHeight(); y++)
                {
                    if (world.getTileType(x, y) == eTileType.START)
                    {
                        startX = x;
                        startY = y;
                    }

                    if (world.getTileType(x, y) == eTileType.END)
                    {
                        goalX = x;
                        goalY = y;
                    }
                }
            }
            startNode = GetNode(startX, startY, world.getTileType(startX, startY));
            goalNode  = GetNode(goalX, goalY, world.getTileType(goalX, goalY));

            startNode.cost      = 0;
            startNode.heuristic = CalculateHeuristic(startNode);

            open.Add(startNode);
            notDiscoveredYet.Add(goalNode);
        }
Exemple #2
0
 public AStar(TileWorld.TileWorld world)
     : base(world)
 {
 }
Exemple #3
0
 public Dijkstra(TileWorld.TileWorld world)
     : base(world)
 {
 }
 public BFS(TileWorld.TileWorld world)
     : base(world)
 {
 }