Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.19 KB | None | 0 0
  1.  ArrayList<Casilla> ar=new ArrayList<Casilla>();
  2.                          //Creamos un array list para almacenar la posición que estamos evaluando y si está en blanco,
  3.                          //las posiciones de las minas colindantes
  4.                          ar.add(comprobador);
  5.                          for(;ar.size()!=0;){
  6.                              Casilla controladora=ar.get(0);
  7.                              ar.remove(0);
  8.                              int contador=0;
  9.                              int filas=controladora.getCoordenadaX();
  10.                              int columnas=controladora.getCoordenadaY();
  11.                              if(controladora.esCasillaTapadaSinMinaOcultaNiMarcada()){
  12.                                
  13.                                  if(tableroDeJuego.esCasillaValida(filas,columnas-1)){
  14.                                      contador+=tableroDeJuego.tableroDeJuego[filas][columnas-1].evaluarMinaEnCasilla();
  15.                                  }
  16.                                  if(tableroDeJuego.esCasillaValida(filas,columnas+1)){
  17.                                      contador+=tableroDeJuego.tableroDeJuego[filas][columnas+1].evaluarMinaEnCasilla();
  18.                                  }
  19.                                  if(tableroDeJuego.esCasillaValida(filas-1,columnas-1)){
  20.                                      contador+=tableroDeJuego.tableroDeJuego[filas-1][columnas-1].evaluarMinaEnCasilla();
  21.                                  }
  22.                                  if(tableroDeJuego.esCasillaValida(filas-1,columnas)){
  23.                                      contador+=tableroDeJuego.tableroDeJuego[filas-1][columnas].evaluarMinaEnCasilla();
  24.                                  }
  25.                                  if(tableroDeJuego.esCasillaValida(filas-1,columnas+1)){
  26.                                      contador+=tableroDeJuego.tableroDeJuego[filas-1][columnas+1].evaluarMinaEnCasilla();
  27.                                  }
  28.                                  if(tableroDeJuego.esCasillaValida(filas+1,columnas-1)){
  29.                                      contador+=tableroDeJuego.tableroDeJuego[filas+1][columnas-1].evaluarMinaEnCasilla();
  30.                                  }
  31.                                  if(tableroDeJuego.esCasillaValida(filas+1,columnas)){
  32.                                      contador+=tableroDeJuego.tableroDeJuego[filas+1][columnas].evaluarMinaEnCasilla();
  33.                                  }
  34.                                  if(tableroDeJuego.esCasillaValida(filas+1,columnas+1)){
  35.                                      contador+=tableroDeJuego.tableroDeJuego[filas+1][columnas+1].evaluarMinaEnCasilla();
  36.                                  }
  37.                                  //Si las casillas son válidas (no se salen de rango, las añadimos al arrayList
  38.                                  if(contador==0){
  39.                                      //Si el contador vale 0 (No hay minas alrededor), cambiamos el estado de la posición
  40.                                      //y añadimos al arrayList casillas para evaluarlas
  41.                                     tableroDeJuego.tableroDeJuego[filas][columnas].setEstado(" ");
  42.                                      tableroDeJuego.decrementarNumeroActualCasillasTapadas();
  43.                                      GestorGui.getInstance().descubrirCasilla(filas,columnas,tableroDeJuego.tableroDeJuego[filas][columnas].getEstado());
  44.                                      Casilla controlador1=tableroDeJuego.obtenerCasilla(filas,columnas-1);
  45.                                      if(tableroDeJuego.esCasillaValida(filas,columnas-1)){
  46.                                      if(controlador1!=null && controlador1.esCasillaTapadaSinMinaOcultaNiMarcada()){
  47.                                             ar.add(controlador1);
  48.                                      }
  49.                                      }
  50.                                      Casilla controlador2=tableroDeJuego.obtenerCasilla(filas,columnas+1);
  51.                                      if(tableroDeJuego.esCasillaValida(filas,columnas+1)){
  52.                                      if(controlador2!=null && controlador2.esCasillaTapadaSinMinaOcultaNiMarcada()){
  53.                                             ar.add(controlador2);
  54.                                      }
  55.                                      }
  56.                                      Casilla controlador3=tableroDeJuego.obtenerCasilla(filas-1,columnas-1);
  57.                                      if(tableroDeJuego.esCasillaValida(filas-1,columnas-1)){
  58.                                      if(controlador3!=null && controlador3.esCasillaTapadaSinMinaOcultaNiMarcada()){
  59.                                             ar.add(controlador3);
  60.                                      }
  61.                                      }
  62.                                      Casilla controlador4=tableroDeJuego.obtenerCasilla(filas-1,columnas);
  63.                                      if(tableroDeJuego.esCasillaValida(filas-1,columnas)){
  64.                                      if(controlador4!=null && controlador4.esCasillaTapadaSinMinaOcultaNiMarcada()){
  65.                                             ar.add(controlador4);
  66.                                      }
  67.                                      }
  68.                                      Casilla controlador5=tableroDeJuego.obtenerCasilla(filas-1,columnas+1);
  69.                                      if(tableroDeJuego.esCasillaValida(filas-1,columnas+1)){
  70.                                      if(controlador5!=null && controlador5.esCasillaTapadaSinMinaOcultaNiMarcada()){
  71.                                             ar.add(controlador5);
  72.                                      }
  73.                                      }
  74.                                      Casilla controlador6=tableroDeJuego.obtenerCasilla(filas+1,columnas-1);
  75.                                      if(tableroDeJuego.esCasillaValida(filas+1,columnas-1)){
  76.                                      if(controlador6!=null && controlador6.esCasillaTapadaSinMinaOcultaNiMarcada()){
  77.                                             ar.add(controlador6);
  78.                                      }
  79.                                      }
  80.                                      Casilla controlador7=tableroDeJuego.obtenerCasilla(filas+1,columnas);
  81.                                      if(tableroDeJuego.esCasillaValida(filas+1,columnas)){
  82.                                      if(controlador7!=null && controlador7.esCasillaTapadaSinMinaOcultaNiMarcada()){
  83.                                             ar.add(controlador7);
  84.                                      }
  85.                                      }
  86.                                      Casilla controlador8=tableroDeJuego.obtenerCasilla(filas+1,columnas+1);
  87.                                      if(tableroDeJuego.esCasillaValida(filas+1,columnas+1)){
  88.                                      if(controlador8!=null && controlador8.esCasillaTapadaSinMinaOcultaNiMarcada()){
  89.                                             ar.add(controlador8);
  90.                                      }
  91.                                      }
  92.                                      
  93.                                  }
  94.                                  if(contador!=0){
  95.                                      //Si el contador no vale 0, cambiamos la posición evaluada por el número de minas que tenga alrededor
  96.                                     tableroDeJuego.tableroDeJuego[filas][columnas].setEstado(""+contador);
  97.                                      tableroDeJuego.decrementarNumeroActualCasillasTapadas();
  98.                                      GestorGui.getInstance().descubrirCasilla(filas,columnas,""+contador);
  99.                                      
  100.                                      
  101.                                  }
  102.                                  
  103.                              }
  104.                          }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement