/**
   * adiciona os nodes adjacentes ao mapNode passado
   *
   * @param mn = mapnode em que se vai adicionar os adiacentes
   * @param lin = linha atual
   * @param col = coluna atual
   * @param tileSize = tamanho do tile para achar o x e y
   * @param graph = o caminho a ser gerado
   * @param linSize = numero de linhas maximas permitidas
   * @param colSize = numero de colunas maximas permitidas
   * @param worldMap = mapa com booleanos indicando os tiles andaveis
   */
  private static void addAdjs(
      MapNode mn,
      int lin,
      int col,
      float tileSize,
      PathGraph graph,
      int linSize,
      int colSize,
      boolean[][] worldMap) {
    int i = 0, j = 0;
    int cases = 4;
    // int cases = 8; //uncoment se quiser tornar adjacente as diagonais
    for (int k = 0; k < cases; k++) {
      switch (k) {
        case 0:
          i = lin - 1;
          j = col;
          break;
        case 1:
          i = lin + 1;
          j = col;
          break;
        case 2:
          i = lin;
          j = col - 1;
          break;
        case 3:
          i = lin;
          j = col + 1;
          break;
          /* //ucoment se quier tornar adjacnete as diagonais
          case 4:
          	i = lin -1;
          	j = col -1;
          case 5:
          	i = lin -1;
          	j = col +1;
          case 6:
          	i = lin +1;
          	j = col +1;
          case 7:
          	i = lin +1;
          	j = col -1;
           */
        default:
          break;
      }

      boolean plusThenZero = i >= 0 && j >= 0;
      boolean lessThenSize = i < linSize && j < colSize;
      if (worldMap[i][j] && plusThenZero && lessThenSize) {
        float x = i * tileSize + tileSize / 2;
        float y = j * tileSize + tileSize / 2;
        MapNode na = new MapNode(x, y);
        graph.addNode(na);
        graph.addAdjacent(mn, na);
      }
    }
  }
 /**
  * adiciona um node ao grafo de caminhos andaveis em PathGraph por seguinte chama o metodo addAdjs
  *
  * @param lin = linha atual
  * @param col = coluna atual
  * @param tileSize = tamanho do tile para achar o x e y
  * @param graph = o caminho a ser gerado
  * @param linSize = numero de linhas maximas permitidas
  * @param colSize = numero de colunas maximas permitidas
  * @param worldMap = mapa com booleanos indicando os tiles andaveis
  */
 private static void addNode(
     int lin,
     int col,
     float tileSize,
     PathGraph graph,
     int linSize,
     int colSize,
     boolean[][] worldMap) {
   float x = lin * tileSize + tileSize / 2;
   float y = col * tileSize + tileSize / 2;
   MapNode mn = new MapNode(x, y);
   graph.addNode(mn);
   addAdjs(mn, lin, col, tileSize, graph, linSize, colSize, worldMap);
 }