public void CreateBombedMazeGamePrototype()
        {
            MazeGame             game = new MazeGame();
            MazePrototypeFactory bombedMazeFactory = new MazePrototypeFactory(new Maze(), new RoomWithABomb(), new BombedWall(), new Door());
            Maze maze = game.CreateMazePrototype(bombedMazeFactory);

            Assert.IsNotNull(maze.RoomNo(1) as RoomWithABomb);
            Assert.IsInstanceOfType(maze.RoomNo(1).GetSide(Direction.North), typeof(BombedWall));
            Assert.IsNotInstanceOfType(maze.RoomNo(2), typeof(EnchantedRoom));
        }
Пример #2
0
        static void Main(string[] args)
        {
            MazeGame game = new MazeGame();
            Maze     maze;

            MazePrototypeFactory simpleMazeFactory = new MazePrototypeFactory(new Maze_Prototype(),
                                                                              new WallPrototype(),
                                                                              new RoomPrototype(),
                                                                              new DoorPrototype());

            maze = game.CreateMaze(simpleMazeFactory);

            MazePrototypeFactory bombedMazeFactory = new MazePrototypeFactory(new Maze_Prototype(),
                                                                              new BombedWallPrototype(),
                                                                              new RoomWithABombPrototype(),
                                                                              new DoorPrototype());

            maze = game.CreateMaze(bombedMazeFactory);
        }
Пример #3
0
        public Maze CreateMazePrototype(MazePrototypeFactory protoFactory)
        {
            Maze aMaze = protoFactory.MakeMaze();

            Room r1      = protoFactory.MakeRoom(1);
            Room r2      = protoFactory.MakeRoom(2);
            Door theDoor = protoFactory.MakeDoor(r1, r2);

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

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

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

            return(aMaze);
        }
Пример #4
0
 public void Setup()
 {
     SetOrReset();
     mazeFactory = new MazePrototypeFactory(new Maze(), new Wall(), new EnchantedRoom(), new DoorNeedingSpell());
     maze        = mazeGame.CreateMaze(mazeFactory);
 }
Пример #5
0
 public void Setup()
 {
     SetOrReset();
     mazeFactory = new MazePrototypeFactory(new Maze(), new Wall(), new Room(), new Door());
     maze        = mazeGame.CreateMaze(mazeFactory);
 }
Пример #6
0
 private static void Main()
 {
     var _ = new MazePrototypeFactory(new Wall.Wall(), new Room.Room(), new Door.Door());
 }
Пример #7
0
 private static void Main()
 {
     var game    = new MazeGame();
     var factory = new MazePrototypeFactory(new Maze(), new BoombedWall(), new Room(), new Door());
     var maze    = game.CreateGame(factory);
 }