Busca Largura

Embed Size (px)

Citation preview

  • 8/16/2019 Busca Largura

    1/2

    /* * To change this template, choose Tools | Templates * and open the template in the editor. */package ia_exercicio01;

    /** * * @author marco.silva2 */public class BuscaLargura extends Busca {

      @Override  public boolean busca(int i, int k) { 

    count++; 

    //valida se a posição esta dentro da matriz  if ((i < 0 || i >=col) || (k < 0 || k >=lin)) {  return false;  //verifica se a posição é um obstaculo  } else if (matriz[i][k] == '#') {  return false;  //verifica se a posição já foi percorrida

      } else if (matriz[i][k] == '-') {  return false;  //verifica se a posição é a final  } else if (matriz[i][k] == 'F') {  matriz[i][k] ='X';  imprime();  count++;  System.out.println("Movimentos: "+count);  return true;  }

    else {  matriz[i][k] = '-'; 

    imprime();  if (busca(i, k + 1)) // direita  return true;  if (busca(i + 1, k + 1)) // diagonal direita baixo  return true;  if (busca(i - 1, k + 1)) // diagonal direita alto  return true;  if (busca(i + 1 , k)) // abaixo  return true;  if (busca(i - 1, k)) // acima  return true;  if (busca(i - 1, k - 1)) // diagonal esquerda abaixo  return true;

      if (busca(i, k - 1)) // esquerda  return true;  if (busca(i - 1, k - 1)) // diagonal esquerda acima  return true;  }

     return false;

      }

  • 8/16/2019 Busca Largura

    2/2

      @Override  public boolean buscaH(int i, int k, int fimX, int fimY) {  throw new UnsupportedOperationException("Not supported yet.");  }}