Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ArrayList<Casilla> ar=new ArrayList<Casilla>();
- //Creamos un array list para almacenar la posición que estamos evaluando y si está en blanco,
- //las posiciones de las minas colindantes
- ar.add(comprobador);
- for(;ar.size()!=0;){
- Casilla controladora=ar.get(0);
- ar.remove(0);
- int contador=0;
- int filas=controladora.getCoordenadaX();
- int columnas=controladora.getCoordenadaY();
- if(controladora.esCasillaTapadaSinMinaOcultaNiMarcada()){
- if(tableroDeJuego.esCasillaValida(filas,columnas-1)){
- contador+=tableroDeJuego.tableroDeJuego[filas][columnas-1].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas,columnas+1)){
- contador+=tableroDeJuego.tableroDeJuego[filas][columnas+1].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas-1,columnas-1)){
- contador+=tableroDeJuego.tableroDeJuego[filas-1][columnas-1].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas-1,columnas)){
- contador+=tableroDeJuego.tableroDeJuego[filas-1][columnas].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas-1,columnas+1)){
- contador+=tableroDeJuego.tableroDeJuego[filas-1][columnas+1].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas+1,columnas-1)){
- contador+=tableroDeJuego.tableroDeJuego[filas+1][columnas-1].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas+1,columnas)){
- contador+=tableroDeJuego.tableroDeJuego[filas+1][columnas].evaluarMinaEnCasilla();
- }
- if(tableroDeJuego.esCasillaValida(filas+1,columnas+1)){
- contador+=tableroDeJuego.tableroDeJuego[filas+1][columnas+1].evaluarMinaEnCasilla();
- }
- //Si las casillas son válidas (no se salen de rango, las añadimos al arrayList
- if(contador==0){
- //Si el contador vale 0 (No hay minas alrededor), cambiamos el estado de la posición
- //y añadimos al arrayList casillas para evaluarlas
- tableroDeJuego.tableroDeJuego[filas][columnas].setEstado(" ");
- tableroDeJuego.decrementarNumeroActualCasillasTapadas();
- GestorGui.getInstance().descubrirCasilla(filas,columnas,tableroDeJuego.tableroDeJuego[filas][columnas].getEstado());
- Casilla controlador1=tableroDeJuego.obtenerCasilla(filas,columnas-1);
- if(tableroDeJuego.esCasillaValida(filas,columnas-1)){
- if(controlador1!=null && controlador1.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador1);
- }
- }
- Casilla controlador2=tableroDeJuego.obtenerCasilla(filas,columnas+1);
- if(tableroDeJuego.esCasillaValida(filas,columnas+1)){
- if(controlador2!=null && controlador2.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador2);
- }
- }
- Casilla controlador3=tableroDeJuego.obtenerCasilla(filas-1,columnas-1);
- if(tableroDeJuego.esCasillaValida(filas-1,columnas-1)){
- if(controlador3!=null && controlador3.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador3);
- }
- }
- Casilla controlador4=tableroDeJuego.obtenerCasilla(filas-1,columnas);
- if(tableroDeJuego.esCasillaValida(filas-1,columnas)){
- if(controlador4!=null && controlador4.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador4);
- }
- }
- Casilla controlador5=tableroDeJuego.obtenerCasilla(filas-1,columnas+1);
- if(tableroDeJuego.esCasillaValida(filas-1,columnas+1)){
- if(controlador5!=null && controlador5.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador5);
- }
- }
- Casilla controlador6=tableroDeJuego.obtenerCasilla(filas+1,columnas-1);
- if(tableroDeJuego.esCasillaValida(filas+1,columnas-1)){
- if(controlador6!=null && controlador6.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador6);
- }
- }
- Casilla controlador7=tableroDeJuego.obtenerCasilla(filas+1,columnas);
- if(tableroDeJuego.esCasillaValida(filas+1,columnas)){
- if(controlador7!=null && controlador7.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador7);
- }
- }
- Casilla controlador8=tableroDeJuego.obtenerCasilla(filas+1,columnas+1);
- if(tableroDeJuego.esCasillaValida(filas+1,columnas+1)){
- if(controlador8!=null && controlador8.esCasillaTapadaSinMinaOcultaNiMarcada()){
- ar.add(controlador8);
- }
- }
- }
- if(contador!=0){
- //Si el contador no vale 0, cambiamos la posición evaluada por el número de minas que tenga alrededor
- tableroDeJuego.tableroDeJuego[filas][columnas].setEstado(""+contador);
- tableroDeJuego.decrementarNumeroActualCasillasTapadas();
- GestorGui.getInstance().descubrirCasilla(filas,columnas,""+contador);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement