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

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