public Coordenada buscarCoordenadaInicio() throws InicioLabirintoNaoEncontradoException {
// Verifico se esta a esquerda
for (int i = 0; i < coordenadas.length; i++) {
// entrada
if (coordenadas[i][0] == 'E') {
return new Coordenada(i, 0);
}
}
// verifico se esta a direita
for (int i = 0; i < coordenadas.length; i++) {
final char[] colunas = coordenadas[i];
if (colunas[colunas.length - 1] == 'E') {
return new Coordenada(i, colunas.length - 1);
}
}
// verifico se esta na parte de cima
final char[] primeiraLinha = coordenadas[0];
for (int i = 0; i < primeiraLinha.length; i++) {
if (primeiraLinha[i] == 'E') {
return new Coordenada(0, i);
}
}
// verifico se esta na parte de baixo
final int ultimaLinha = coordenadas.length - 1;
final char[] linha = coordenadas[ultimaLinha];
for (int i = 0; i < linha.length; i++) {
if (linha[i] == 'E') {
return new Coordenada(ultimaLinha, i);
}
}
throw new InicioLabirintoNaoEncontradoException();
}
Comments