예제 #1
0
        static void Main(string[] args)
        {
            // Concrete Builder
            StandardMazeBuilder builder = new StandardMazeBuilder();

            // Director
            MazeGame game = new MazeGame();

            game.CreateMaze(builder);

            // Getting product ...
            Maze maze = builder.GetMaze();


            // Concrete Builder
            CountingMazeBuilder builderCount = new CountingMazeBuilder();

            // Director
            MazeGame gameCount = new MazeGame();

            gameCount.CreateMaze(builderCount);

            int rooms;
            int doors;

            builderCount.GetCounts(out rooms, out doors);

            Console.WriteLine("The maze has {0} rooms and {1} doors.", rooms, doors);
        }
예제 #2
0
        public void CreateMaze()
        {
            Maze                maze;
            MazeGame            game    = new MazeGame();
            StandardMazeBuilder builder = new StandardMazeBuilder();

            game.CreateComplexMaze(builder);
            maze = builder.GetMaze();
        }
        public void BuildMaze_StandardBuilder_ActuallyCreates()
        {
            var builder = new StandardMazeBuilder();
            var game    = new MazeGame();

            var maze = game.CreateMaze(builder);

            maze.Should().NotBeNull();
            maze.GetRoom(1).Should().NotBeNull();
            maze.GetRoom(2).Should().NotBeNull();
            maze.GetRoom(1)[Direction.East].Should().BeOfType <Door>();
        }
예제 #4
0
        public void CreateStandartMazeGameBuilder()
        {
            MazeGame    game = new MazeGame();
            MazeBuilder builder;
            Maze        maze;

            // Configure standard maze builder
            builder = new StandardMazeBuilder();
            maze    = game.CreateMazeBuilder(builder);

            Assert.IsNotNull(maze.RoomNo(1));
            Assert.IsNotNull(maze.RoomNo(2));
        }
예제 #5
0
        static void Main(string[] args)
        {
            MazeBuilder builder = new StandardMazeBuilder();
            MazeGame    game    = new MazeGame();
            Maze        maze    = game.CreateMaseByBuilder(builder);

            CountingMazeBuilder CountingBuilder = new CountingMazeBuilder();

            game.CreateMaseByBuilder(CountingBuilder);
            int roomCount;
            int doorCount;

            CountingBuilder.GetCounts(out roomCount, out doorCount);
            Console.WriteLine("RoomCount: {0}\nDoorCount: {1}", roomCount, doorCount);
        }
예제 #6
0
 public void Setup()
 {
     SetOrReset();
     mazeBuilder = new StandardMazeBuilder();
     maze        = mazeGame.CreateMaze(mazeBuilder);
 }
예제 #7
0
 public void Setup()
 {
     SetOrReset();
     mazeBuilder = new StandardMazeBuilder();
 }