Una pista, empieza por el origen (marcalo como visitado), e intenta mover a los no visitados. Cuando muevas a uno, lo marcas como visitado e intentas a mover a los no visitados disponibles

Aqui para relacionar la teoria :
Si vas primero a los mas cercanos (procesas primero las casillas adjacentes al origen, luego las adjacentes a cada uno y asi sucesivamente), es una busqueda en anchura.
Sin embargo, si procesas un movimiento y inmediatamente vas procensado los movimientos conforme salgan, sin dar prioridad a los primeros encontrados, es una busqueda en profundidad
No se si me he explicado bien, si tienes dudas pregunta.
Saludos!