Esempio n. 1
0
        public void BuildDoor(int roomFrom, int roomTo)
        {
            var r1 = _maze.GetRoom(roomFrom);
            var r2 = _maze.GetRoom(roomTo);

            var door = _factory.MakeDoor(r1, r2);

            r1.SetSide(CommonWall(r1, r2), door);
            r2.SetSide(CommonWall(r2, r1), door);
        }
        public Maze CreateMaze(MazeFactory factory)
        {
            Maze maze = factory.MakeMaze();

            Room r1   = factory.MakeRoom(1);
            Room r2   = factory.MakeRoom(2);
            Door door = factory.MakeDoor(r1, r2);

            maze.AddRoom(r1);
            maze.AddRoom(r2);

            return(maze);
        }
Esempio n. 3
0
        public Maze CreateMaze(MazeFactory mazeFactory)
        {
            //var maze = new Maze();
            //var room1 = new Room(1);
            //var room2 = new Room(2);
            //var door = new Door(room1, room2);

            //maze.AddRoom(room1);
            //maze.AddRoom(room2);

            //room1.SetSide(Direction.North, new Wall());
            //room1.SetSide(Direction.East, door);
            //room1.SetSide(Direction.South, new Wall());
            //room1.SetSide(Direction.West, new Wall());

            //room2.SetSide(Direction.North, new Wall());
            //room2.SetSide(Direction.East, new Wall());
            //room2.SetSide(Direction.South, new Wall());
            //room2.SetSide(Direction.West, door);

            // notice that the class names are no longer hard coded:

            var maze  = mazeFactory.MakeMaze();
            var room1 = mazeFactory.MakeRoom(1);
            var room2 = mazeFactory.MakeRoom(2);
            var door  = mazeFactory.MakeDoor(room1, room2);

            maze.AddRoom(room1);
            maze.AddRoom(room2);

            room1.SetSide(Direction.North, mazeFactory.MakeWall());
            room1.SetSide(Direction.East, door);
            room1.SetSide(Direction.South, mazeFactory.MakeWall());
            room1.SetSide(Direction.West, mazeFactory.MakeWall());

            room2.SetSide(Direction.North, mazeFactory.MakeWall());
            room2.SetSide(Direction.East, mazeFactory.MakeWall());
            room2.SetSide(Direction.South, mazeFactory.MakeWall());
            room2.SetSide(Direction.West, door);

            return(maze);
        }
Esempio n. 4
0
        public Maze CreateMaze(MazeFactory factoryParam)
        {
            factory = factoryParam;
            var aMaze = factory.MakeMaze();
            var r1 = factory.MakeRoom(1);
            var r2 = factory.MakeRoom(2);
            var theDoor = factory.MakeDoor(r1, r2);
            aMaze.AddRoom(r1);
            aMaze.AddRoom(r2);
            r1.SetSide(Direction.North, factory.MakeWall());
            r1.SetSide(Direction.East, theDoor);
            r1.SetSide(Direction.South, factory.MakeWall());
            r1.SetSide(Direction.West, factory.MakeWall());

            r1.SetSide(Direction.North, factory.MakeWall());
            r1.SetSide(Direction.West, theDoor);
            r1.SetSide(Direction.South, factory.MakeWall());
            r1.SetSide(Direction.East, factory.MakeWall());
            return aMaze;
        }
Esempio n. 5
0
        public void CreateMaze(MazeFactory factory)
        {
            var maze    = factory.MakeMaze();
            var r1      = factory.MakeRoom(1);
            var r2      = factory.MakeRoom(2);
            var theDoor = factory.MakeDoor(r1, r2);


            r1.SetSide(EnumDirection.North, factory.MakeWall());
            r1.SetSide(EnumDirection.East, theDoor);
            r1.SetSide(EnumDirection.South, factory.MakeWall());
            r1.SetSide(EnumDirection.West, factory.MakeWall());

            r2.SetSide(EnumDirection.North, factory.MakeWall());
            r2.SetSide(EnumDirection.East, factory.MakeWall());
            r2.SetSide(EnumDirection.South, factory.MakeWall());
            r2.SetSide(EnumDirection.West, theDoor);

            maze.AddRoom(r1);
            maze.AddRoom(r2);
        }
Esempio n. 6
0
        public Maze CreateMaze(MazeFactory mazeFactory)
        {
            Maze maze  = mazeFactory.MakeMaze();
            Room room1 = mazeFactory.MakeRoom(1);
            Room room2 = mazeFactory.MakeRoom(2);
            Door door  = mazeFactory.MakeDoor(room1, room2);

            maze.AddRoom(room1);
            maze.AddRoom(room2);

            room1.SetSide(Composition.Sides.North, mazeFactory.MakeWall());
            room1.SetSide(Composition.Sides.East, door);
            room1.SetSide(Composition.Sides.South, mazeFactory.MakeWall());
            room1.SetSide(Composition.Sides.West, mazeFactory.MakeWall());


            room2.SetSide(Composition.Sides.North, mazeFactory.MakeWall());
            room2.SetSide(Composition.Sides.East, mazeFactory.MakeWall());
            room2.SetSide(Composition.Sides.South, mazeFactory.MakeWall());
            room2.SetSide(Composition.Sides.West, door);
            return(maze);
        }
Esempio n. 7
0
        public Maze CreateMaze(MazeFactory mazeFactory)
        {
            Maze maze = mazeFactory.MakeMaze();
            Room r1   = mazeFactory.MakeRoom(1);
            Room r2   = mazeFactory.MakeRoom(2);
            Door door = mazeFactory.MakeDoor(r1, r2);

            maze.AddRoom(r1);
            maze.AddRoom(r2);

            r1.SetSide(Direction.North, new Wall());
            r1.SetSide(Direction.East, door);
            r1.SetSide(Direction.South, new Wall());
            r1.SetSide(Direction.West, new Wall());

            r2.SetSide(Direction.North, new Wall());
            r2.SetSide(Direction.East, new Wall());
            r2.SetSide(Direction.South, new Wall());
            r2.SetSide(Direction.West, door);

            return(maze);
        }
Esempio n. 8
0
        public Maze CreateMaze(MazeFactory factory)
        {
            var maze    = factory.MakeMaze();
            var room1   = factory.MakeRoom(1);
            var room2   = factory.MakeRoom(2);
            var theDoor = factory.MakeDoor(room1, room2);

            room1.SetSide(Direction.North, factory.MakeWall());
            room1.SetSide(Direction.East, theDoor);
            room1.SetSide(Direction.South, factory.MakeWall());
            room1.SetSide(Direction.West, factory.MakeWall());

            room2.SetSide(Direction.North, factory.MakeWall());
            room2.SetSide(Direction.East, factory.MakeWall());
            room2.SetSide(Direction.South, factory.MakeWall());
            room2.SetSide(Direction.West, theDoor);

            maze.AddRoom(room1);
            maze.AddRoom(room2);

            return(maze);
        }
Esempio n. 9
0
        public Maze CreateMazeAbstractFactory(MazeFactory factory)
        {
            Maze aMaze   = factory.MakeMaze();
            Room r1      = factory.MakeRoom(1);
            Room r2      = factory.MakeRoom(2);
            Door theDoor = factory.MakeDoor(r1, r2);

            aMaze.AddRoom(r1);
            aMaze.AddRoom(r2);

            r1.SetSide(Direction.North, factory.MakeWall());
            r1.SetSide(Direction.East, theDoor);
            r1.SetSide(Direction.South, factory.MakeWall());
            r1.SetSide(Direction.West, factory.MakeWall());

            r2.SetSide(Direction.North, factory.MakeWall());
            r2.SetSide(Direction.East, factory.MakeWall());
            r2.SetSide(Direction.South, factory.MakeWall());
            r2.SetSide(Direction.West, theDoor);

            return(aMaze);
        }
        private Maze CreateMaze(MazeFactory factory)
        {
            Maze aMaze = factory.MakeMaze();
            Room r1 = factory.MakeRoom(1);
            Room r2 = factory.MakeRoom(2);
            Door theDoor = factory.MakeDoor(r1, r2);

            aMaze.AddRoom(r1);
            aMaze.AddRoom(r2);

            r1.SetSide(Direction.North, factory.MakeWall());
            r1.SetSide(Direction.South, theDoor);
            r1.SetSide(Direction.East, factory.MakeWall());
            r1.SetSide(Direction.West, factory.MakeWall());

            r2.SetSide(Direction.North, factory.MakeWall());
            r2.SetSide(Direction.South, factory.MakeWall());
            r2.SetSide(Direction.East, factory.MakeWall());
            r2.SetSide(Direction.West, theDoor);

            return aMaze;
        }