public static void GenerateMazeHelper(int size, int[] sections, int loops, int floors, Difficulty difficulty, int seed) { System.Random msgRand = new System.Random(seed); MazeNode[,] roots = new MazeNode[5, 8]; for (int i = 0; i < floors; i++) { int section = 0; MazeNode root = DFSMazeGenerator.GenerateMaze(seed, size, size, i); List <MazeNode> sectionroots; sectionroots = GenerateSections(root, sections[i], size, size); foreach (MazeNode r in sectionroots) { roots[i, section] = r; foreach (MazeNode n in nodesInSection(r)) { n.sectionNumber = section; } r.isRoot = true; GenerateLoops(r, loops, size); GenerateLadders(i, section, r, floors, sections[i]); GenerateMessages(r, msgRand); ActorGenerator.GenerateActorsHelper(difficulty, r, seed); SetIntersectionNodes(r); section++; seed++; } } DifferentSections = roots; connectLadderNodes(difficulty, roots); }
private void PlacePlayer() { Player player = ActorGenerator.CreatePlayer(); player.X = _map.Rooms[0].Center.X; player.Y = _map.Rooms[0].Center.Y; _map.AddPlayer(player); }
void PlacePlayer() { Player player = ActorGenerator.CreatePlayer(); player.X = _map.Rooms[0].Center.X; player.Y = _map.Rooms[0].Center.Y; player.go.transform.position = new Vector2(player.X, player.Y); _map.AddPlayer(player); }
private void PlaceMonsters() { foreach (var room in _map.Rooms) { if (Dice.Roll("1D10") < 7) { var numberOfMonsters = Dice.Roll("1D4"); for (int i = 0; i < numberOfMonsters; i++) { if (_map.DoesRoomHaveWalkableSpace(room)) { Point randomRoomLocation = _map.GetRandomLocationInRoom(room); if (randomRoomLocation != null) { _map.AddMonster(ActorGenerator.CreateMonster(_level, _map.GetRandomLocationInRoom(room))); } } } } } }