예제 #1
0
 public Maze CreateMaze(MazeBuilder builder)
 {
     builder.BuildMaze();
     builder.BuildRoom(1);
     builder.BuildRoom(2);
     builder.BuildDoor(1, 2);
     return(builder.GetMaze());
 }
예제 #2
0
        public Maze CreateComplexMaze(MazeBuilder builder)
        {
            // Построение 1001-й комнаты.
            for (int i = 0; i < 1001; i++)
            {
                builder.BuildRoom(i + 1);
            }

            return(builder.GetMaze());
        }
예제 #3
0
        // Использует Строителя.   (НОВЫЙ ВАРИАНТ)
        // Строитель скрывает внутреннее представление лабиринта, то есть классы комнат, дверей и стен,
        // а так-же скрывает то, как эти части собираются вместе для завершения построения лабиринта.
        // За счет этого становится проще модифицировать способ представления лабиринта, поскольку
        // ниодного из клиентов MazeBuilder изменять не надо.
        // MazeBuilder - можно повторно использовать для построения лабиринтов разных видов.
        public Maze CreateMaze(MazeBuilder builder)
        {
            builder.BuildMaze();
            builder.BuildRoom(1);
            builder.BuildRoom(2);
            builder.BuildDoor(1, 2);

            // Возвращает готовый продукт (Лабиринт)
            return(builder.GetMaze());
        }