Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/05/2011, 14:16
Avatar de mihina
mihina
 
Fecha de Ingreso: mayo-2010
Ubicación: Girona
Mensajes: 32
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Recursividad "Buscaminas"

Lo he solucionado: pongo la solucion por si a alguien le interesa; el primer metodo no he tocado nada solo he modificado el segundo.

Código C++:
Ver original
  1. void Taulell::destaparCasella(int x,int y, int f, int c)
  2.         {
  3.             if((x+f>=0 && x+f<a_files) && (y+c>=0 && y+c<a_colum)){
  4.                 if(!a_Casella[x+f][y+c].obtHiHaMina() && a_Casella[x+f][y+c].obtEstat()==3){
  5.                     if (a_Casella[x+f][y+c].obtNumDeMines()>0){
  6.                        
  7.                         a_Casella[x][y].modEstat(1);
  8.                         a_CasellesTapades--;
  9.                     }
  10.                     if (a_Casella[x+f][y+c].obtNumDeMines()==0){
  11.                        
  12.                         for(int f=-1; f<=1; f++){
  13.                             for(int c=-1; c<=1; c++){
  14.                                
  15.                                 a_Casella[x][y].modEstat(1);
  16.                                 a_CasellesTapades--;
  17.                                 destaparCasella(x+f,y+c,0,0);
  18.                             }
  19.                         }
  20.                     }
  21.                 }
  22.             }
  23.         }