public BoardCell pickLocation(Set<BoardCell> targets) {
		// Create lists to have possible targets.  Only pick from rooms not visited if there are any
		List<BoardCell> choices = new ArrayList<BoardCell>();
		List<BoardCell> unvisitedRooms = new ArrayList<BoardCell>();
		Random generator = new Random();

		for (BoardCell cell : targets) {
			if (cell.isRoom()) {
				RoomCell roomCell = (RoomCell) cell;
				if (roomCell.getInitial() == lastRoomVisited)
					choices.add(cell);
				else
					unvisitedRooms.add(cell);
			}
			else
				choices.add(cell);
		}

		// Choose from unvisitedRooms if there are any
		if (!(unvisitedRooms.isEmpty())) {
			int pick = generator.nextInt(unvisitedRooms.size());
			return (unvisitedRooms.get(pick));
		}
		// Choose randomly from everything else if no rooms or they were just visited
		else {
			int pick = generator.nextInt(choices.size());
			return (choices.get(pick));
		}
	}