Estou a tentar criar um programa que dado uma matriz (labirinto) ele consigo percorrer a matriz e encontrar a saída sem passar pelos valores correspondentes às paredes do labirinto.
Até agora só consegui criar o labirinto e não faço ideia como fazer para que o programa encontre a saída. O código que tenho é este.
Código:
public class maze {
public static void main(String[] args) {
int[][] matriz;
matriz = new int[][]{{1,1,1,0,1,1,1,1,1,1},{1,1,1,0,0,0,0,1,1,1},{1,1,1,0,1,1,0,0,1,1},{1,1,1,0,0,0,1,0,0,1},{1,1,1,1,3,0,1,1,0,1},{1,1,1,1,1,0,1,1,0,1},{1,1,1,1,1,0,1,1,1,1},{1,1,1,1,1,0,0,0,1,1},{1,1,1,1,0,0,1,0,1,1},{1,1,1,1,0,1,1,0,1,1}};
for (int linha = 0; linha < matriz.length; linha++) {
for (int coluna = 0; coluna < matriz[0].length; coluna++) {
System.out.print(matriz[linha][coluna] + " ");
}
System.out.println(" ");
}
}
}
Output:
1 1 1 0 1 1 1 1 1 1
1 1 1 0 0 0 0 1 1 1
1 1 1 0 1 1 0 0 1 1
1 1 1 0 0 0 1 0 0 1
1 1 1 1 3 0 1 1 0 1
1 1 1 1 1 0 1 1 0 1
1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 0 0 0 1 1
1 1 1 1 0 0 1 0 1 1
1 1 1 1 0 1 1 0 1 1
(Os 1’s correspondem a paredes, o 3 é suposto ser o ponto de partida e o 0 é suposto ser os espaços abertos que devem ser percorridos para encontrar a saída) - Objetivo - mostrar o caminho percorrido desde o ponto de início à/às saída/s.