private Direction getDirection(){
		List<Direction> directionList = new ArrayList<Direction>();
		
		//Determine if 
		
		
		//Calculate the distances from all possible directions
		for(int i = 0; i < Direction.Orientation.values().length; i++){
			int[] relativeCoordinate = (Direction.Orientation.values()[i]).direction();
			double distance = Math.sqrt(Math.pow((this.endCoord[0] - relativeCoordinate[0]), 2) + Math.pow((this.endCoord[1] - relativeCoordinate[1]), 2));
			try{
				directionList.add(new Direction(
					Direction.Orientation.values()[i],
					distance,
					relativeCoordinate
				));
			}
			catch(Exception e){
				System.out.println("A direction class could not be generated.");
			}
		}
		
		//Determine shortest route(s)
		double shortestDistance = directionList.get(0).distance;
		for(int i = 0; i < directionList.size(); i++){
			if(directionList.get(i).distance < shortestDistance){
				shortestDistance = directionList.get(i).distance;
			}
		}				
		Iterator<Direction> iterator = directionList.iterator();
		while(iterator.hasNext()){
			if(iterator.next().distance != shortestDistance){
				iterator.remove();
			}
		}
		
		//Choose one of direction(s)
		Direction value = directionList.get(RandomGenerator.RandomInteger(0, directionList.size() - 1));
		return value;
	}