public void ProcessMap_DoubleMap_MapIsDoubled() { var map = GenerateMap(); var doubler = new MapDoubler<Cell,BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); Assert.AreEqual(SOME_EVEN_HEIGHT * 2 + 1, newMap.Height); Assert.AreEqual(SOME_EVEN_WIDTH * 2 + 1, newMap.Width); }
public void ProcessMap_DoubleMap_MapIsDoubled() { var map = GenerateMap(); var doubler = new MapDoubler <Cell, BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); Assert.AreEqual(SOME_EVEN_HEIGHT * 2 + 1, newMap.Height); Assert.AreEqual(SOME_EVEN_WIDTH * 2 + 1, newMap.Width); }
private Map <Cell> Map() { var map = new Map <BinaryCell>(SOME_WIDTH, SOME_HEIGHT); new MazeGenerator <BinaryCell>().ProcessMap(map, mConfiguration, mRandomizer); new SparsenessReducer <BinaryCell>().ProcessMap(map, mConfiguration, mRandomizer); var newMap = new MapDoubler <Cell, BinaryCell>().ConvertMap(map, mConfiguration, mRandomizer); var roomGenerator = new RoomGenerator <Cell>(); roomGenerator.ProcessMap(newMap, mConfiguration, mRandomizer); return(newMap); }
public void ProcessMap_DoubleMap_TerrainAndSidesSetProperly() { var map = GenerateMap(); var oldCells = map.AllCells.ToList(); var doubler = new MapDoubler<Cell, BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); foreach (var oldCell in oldCells.Where(cell => cell.IsOpen)) { //assert the cell in the new location var newCell = newMap.GetCell(oldCell.Row * 2 + 1, oldCell.Column * 2 + 1); Assert.AreEqual(TerrainType.Floor, newCell.Terrain); //Where the side is open there should be floor, where the side is closed there should be rock foreach (var kvp in oldCell.Sides) { Assert.AreEqual(kvp.Value ? TerrainType.Floor : TerrainType.Rock, newMap.GetAdjacentCell(newCell, kvp.Key).Terrain); } } }
public void ProcessMap_DoubleMap_TerrainAndSidesSetProperly() { var map = GenerateMap(); var oldCells = map.AllCells.ToList(); var doubler = new MapDoubler <Cell, BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); foreach (var oldCell in oldCells.Where(cell => cell.IsOpen)) { //assert the cell in the new location var newCell = newMap.GetCell(oldCell.Row * 2 + 1, oldCell.Column * 2 + 1); Assert.AreEqual(TerrainType.Floor, newCell.Terrain); //Where the side is open there should be floor, where the side is closed there should be rock foreach (var kvp in oldCell.Sides) { Assert.AreEqual(kvp.Value ? TerrainType.Floor : TerrainType.Rock, newMap.GetAdjacentCell(newCell, kvp.Key).Terrain); } } }
private Map<Cell> GenerateMap() { var map = new Map<BinaryCell>(SOME_WIDTH, SOME_HEIGHT); new MazeGenerator<BinaryCell>().ProcessMap(map, mConfiguration, mRandomizer); new SparsenessReducer<BinaryCell>().ProcessMap(map, mConfiguration, mRandomizer); new DeadendsRemover<BinaryCell>().ProcessMap(map, mConfiguration, mRandomizer); var newMap = new MapDoubler<Cell, BinaryCell>().ConvertMap(map, mConfiguration, mRandomizer); new RoomGenerator<Cell>().ProcessMap(newMap, mConfiguration, mRandomizer); new DoorGenerator<Cell>().ProcessMap(newMap, mConfiguration, mRandomizer); return newMap; }