public void calcTargets(int position, int steps){

		
		path.push(position);
		
		//Record first position to test against starting on a door 
		if(startPosition==-1){
			startPosition=position;
		}
		
		//Calc adjacencies first so that we can getAdjecencies
		calcAdjacencies(getRowCol(position)[1], getRowCol(position)[0]);
	
		
	
		if (steps == 0) {
			targets.add(position);
			path.pop();
			return;
		}	
		
		
		for (int i : adjMtx.get(position)) {
			//If a doorway is found add it to targets
			if (cells.get(i).isDoorway() && i!= startPosition) {
				targets.add(i);
			}
			if (!cells.get(i).isRoom() && i != position && !path.contains(i) && i != path.elementAt(0)) {
				calcTargets(i, steps - 1);
			}
		}
		
		path.pop();
			
	}