t ResuelveLaberinto::obtenerVecinos (Celda celda, ListaVecinos listaVecinos, ListaVecinos listaIntermedios) { int x, y; int numVecinos = 0; x = celda.dameX(); y = celda.dameY(); celda.fijar(x + 2, y); if (comprobarValida (celda)) { listaVecinos[numVecinos] = (celda); listaIntermedios[numVecinos] = (celda); numVecinos++; } celda.fijar(x - 2, y); // comprobar vecino de arriba celda.fijar(x - 2, y); if (comprobarValida (celda)) { listaVecinos[numVecinos] = (celda); listaIntermedios[numVecinos] = (celda); numVecinos++; } celda.fijar(x + 2, y); celda.fijar(x, y + 2); // Comprobar vecino derecho if (comprobarValida (celda)) { listaVecinos[numVecinos] = celda; listaIntermedios[numVecinos] = celda; numVecinos++; } celda.fijar(x, y - 2); celda.fijar(x, y - 2); // Comprobar vecino izquierdo if (comprobarValida (celda)) { listaVecinos[numVecinos] = celda; listaIntermedios[numVecinos] = celda; numVecinos++; } celda.fijar(x, y + 2); return numVecinos; }