private Room SetLockedDoor(Room room, Direction direction) { switch (direction) { case Direction.N: room.doors.lockN = '-'; break; case Direction.S: room.doors.lockS = '-'; break; case Direction.E: room.doors.lockE = '|'; break; case Direction.W: room.doors.lockW = '|'; break; default: break; } room.SetDoorInDirection(direction); return(room); }
private Room JoinRooms(LinkedListNode <int[]> node1, LinkedListNode <int[]> node2, Room room) { Direction direction = GetDoorDirection(node2, node1); room.SetDoorInDirection(direction); return(room); }
public void SetLockedDoors(Map map, List <int[]> lockedDoorLocations) { foreach (var location in lockedDoorLocations) { Room room = map[location]; List <Direction> directions = room.doors.direction; Direction direction = directions.ElementAt(random.Next(directions.Count)); map[location] = SetLockedDoor(room, direction); } }