Пример #1
0
        static void MakeDungeon(int seed)
        {
            stage = new Stage(23, 23);

            RoomDecorator rd = new RoomDecorator(stage);

            rd.ReadAll("rooms.txt");
            Generator g = new Generator(seed);

            g.DecorateRoom += rd.DecorateRoom;
            g.numRoomTries  = 500;
            g.generate(stage);


            DijkstraMap dm = new DijkstraMap(stage, 0);

            //dm.Compute(1,1,true);
            dm.Compute(stage.GetAll(Tiles.Brazier), false);
            dm.Display();

            dm.CalculatePath(21, 21);
            var path = dm.GetReversePath().ToList();

            PrintDungeon(seed);
        }
Пример #2
0
    public static List <Vec> Pathfind(Vec start, Vec[] goal)
    {
        DijkstraMap dm = new DijkstraMap(stage, Mathf.Sqrt(2.0f));

        dm.Compute(goal, false);
        if (dm.CalculatePath(start.x, start.y))
        {
            return(dm.GetPath().ToList());
        }

        return(new List <Vec>());
    }