static void Main(string[] args) { MazeGame game = new MazeGame(); Maze maze = game.CreateMazeByFactoyrMethod(); maze.RoomNo(1).Enter(); BombedMazeGame bomb = new BombedMazeGame(); Maze bombMaze = bomb.CreateMazeByFactoyrMethod(); bombMaze.RoomNo(1).Enter(); }
static void Main(string[] args) { MazeGame game = new MazeGame(); MazePrototypeFactory protoTypeFactory = new MazePrototypeFactory(new Maze(), new Wall(), new Room(1), new Door()); Maze maze = game.CreateMazeByAbstractFactory(protoTypeFactory); maze.RoomNo(1).Enter(); MazeGame game2 = new MazeGame(); MazePrototypeFactory protoTyprFactory2 = new MazePrototypeFactory(new Maze(), new WallWithBomb(), new RoomWithABomb(1), new Door()); Maze maze2 = game.CreateMazeByAbstractFactory(protoTyprFactory2); maze2.RoomNo(1).Enter(); }
static void Main(string[] args) { //change factory, change kind of maze. MazeFactory mazeFactory = new MazeFactory(); MazeGame game = new MazeGame(); Maze maze = game.CreateMase(mazeFactory); maze.RoomNo(1).Enter(); EnchantedMazeFactory enchante = new EnchantedMazeFactory(); Maze enchantedMaze = game.CreateMase(enchante); enchantedMaze.RoomNo(1).Enter(); }
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); }