* No entiendo por qué puede pasar de que no haya camino
* No sé de qué forma debés explicarle al usuario cuál es el camino más corto (una lista encadenada de posiciones? un array de posiciones?)
* Camino más corto de (a,b) a (c,d):
Seudocódigo:
x = a - c
y = b - d
Luego, simplemente te movés x lugares en el "eje x" e y lugares en el "eje y" pues esa es la forma más corta (no es la única).
Saludos.