private void locationSetup(Room room, Point previous) {
		Map<ExitDirection, Room> exits = room.getExitMap();
		for (ExitDirection key : exits.keySet()) {
			if (!this.roomLocations.containsKey(exits.get(key))) { // skip over rooms already in the set
				Point loc = new Point(previous);
				switch (key) { //adjust the location for the rooms based on the direction they are in.
				case north:
					loc.y -= (ROOM.getHeight() * 2) - ROOM_EXIT.getHeight();
					break;
				case east:
					loc.x += (ROOM.getWidth() * 2) - ROOM_EXIT.getWidth();
					break;
				case south:
					loc.y += (ROOM.getHeight() * 2) - ROOM_EXIT.getHeight();
					break;
				case west:
					loc.x -= (ROOM.getWidth() * 2) - ROOM_EXIT.getWidth();
				}
				Point exit1Point = new Point(previous); //set up the starting point for the exit
				exit1Point.x += ROOM.getWidth() / 2;
				exit1Point.y += ROOM.getHeight() / 2;

				Point exit2Point = new Point(loc); //set up the ending point for the exit
				exit2Point.x += ROOM.getWidth() / 2;
				exit2Point.y += ROOM.getHeight() / 2;
				this.exitLocations.add(new Point[] { exit1Point, exit2Point }); //add it to be drawn later
				
				
				if (exits.get(key).visited()) {
					
						this.roomLocations.put(exits.get(key), loc); 
						// map the room to the point it will be on the map
						locationSetup(exits.get(key), loc); // call this method again on the next room.
						// this will happen until there are no more
						// attached rooms to traverse or they have not been visited.
						
				}
			}
		}
	}