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