public Point generatePathTile(int[][] map, Point current) {
		// Decide Options
		int index = 0;
		Direction options[] = new Direction[4];

		for (int i = 0; i < 4; i++) {
			Point p = viableTile(map, current, i);
			if (p == null)
				continue;
			else {
				options[index] = directions[i];
				index++;
			}
		}
		// Choose Option
		if (index == 0)
			return null; // PATH GENERATION FAILED!!
		Direction target = options[random.nextInt(index)];
		if (index == 2) {
			if ((options[0] == directions[0]) && (options[1] == directions[2])) {
				target = options[1];

			} else if ((options[0] == directions[1])
					&& (options[1] == directions[3])) {
				target = options[0];
			}
		}
		// Move
		Point tp1 = target.next(current, 1);
		map[tp1.x][tp1.y] = t.PATH;
		// System.out.println("Point TP1 "+tp1);
		Point tp2 = target.next(current, 2);
		map[tp2.x][tp2.y] = t.PATH;
		// System.out.println("Point TP2 "+tp2);
		return tp2;
	}