Vous êtes sur la page 1sur 34

/*

ControlStakkaPanel.java
Autores:
Luis 10382
Luis Pedro 10073
Jose M. 10784
20 de noviembre de 2010
Descripcion: controla el juego
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import java.util.ArrayList;
import javax.swing.event.*;
public class ControlStakkaPanel extends StakkaPanel{
//Atributos
private Figuras[] figuras;
private Label2[] lugares;
private Label[][] matriz;
private JPanel Datos, Extra;
private JButton reset;
private int num2,num3, punteoJ, conteo=0;
private int temporal,temporal2=0;
protected int numero1, numero2;
private int colort, filaE;//fila e es para eliminar al final
private boolean click2,marcado3, bloqueado, ResetTimer=false ;
private Random random1 = new Random() ;
private Random random2 = new Random() ;
private String a;
private Timer control_tiempo;
public ControlStakkaPanel(String nombreJ){
//Llamando al constructor de la clase madre
super(nombreJ);
//Creacion de contenedores
bloqueado=true;
Datos = new JPanel();
Extra = new JPanel();
matriz = new Label[10][10];
for(int i =0;i<10;i++){
for(int y=0;y<10;y++){
matriz[i][y] = new Label(3,1);
Extra.add(matriz[i][y]);
}
}
figuras = new Figuras[5];
for (int i=0; i<=4; i++){

num2 =random1.nextInt(6);//figura
num3 =random1.nextInt(5);//color
figuras[i] = new Figuras(num2,num3);
figuras[i].setEnabled(true);
//Agregar objetos listener a los botones de figuras
figuras[i].addActionListener(new FiguraListener());
//Agregar numeros al panel datos
Datos.add(figuras[i]);
}
Datos.setBackground(Color.black);
Datos.setPreferredSize(new Dimension(750, 100));
lugares = new Label2[10];
for(int i=0; i<10; i++){
lugares[i] = new Label2();
lugares[i].setEnabled(true);
//Agregar objetos listener a los label para tirar
lugares[i].addMouseListener(new Label2Listener());
//Agregar lugares al panel Extra
Extra.add(lugares[i]);
}
Extra.setBackground(Color.yellow);
Extra.setPreferredSize(new Dimension(460, 500 ));

reset = new JButton("RESET");


//Agregar objeto listener al boton de RESET
reset.addActionListener(new FiguraListener());
//Agregar a los contenedores a StakkaPanel
//Agregar boton reset al panel extra
Datos.add(reset);
add(Extra);
add(Datos);

setPreferredSize(new Dimension(1090, 700));


iniciar();
control_tiempo = new Timer(30000,new TiempoListener());
//puse 30segs para probar si servia... emmm vs decidi cuanto tie
mpo le queres dar a la mara yo calculo como 1.5minmax
control_tiempo.start();
ResetTimer=false;
}
private void perdiste(){
ImageIcon icon;
String msg = "OH NO!! HAS PERDIDO!!!! Tardaste mucho en terminar
el nivel...";
//identificar si es Windows o Mac o Linux
if(System.getProperty("os.name").toLowerCase().startsWith("windo
ws"))
icon = new ImageIcon(".\\imagenes\\Figura1.gif");
else
icon = new ImageIcon("./imagenes/Figura1.gif");
//Mostrar mensaje de error
muestraMensajePerder();
}
public void iniciar(){
int colorTR;
for(int sub=0;sub<9;sub=sub+2){

marcado3=false;
colorTR= random1.nextInt(5);//color
num3=random1.nextInt(6);//figura
numero2=sub;//columna
temporal=num3;//figura anterior
temporal2=colorTR;//color anterior
num2 =random1.nextInt(7); //eliminar
mover(temporal);
revalidate();
}
mensaje.setText(" Bienvenidos ! ");
repaint();
}
//OVERRIDE
//Metodo para reiniciar objetos y variables (empezar de nuevo)
public void reiniciar(){
//Llamar al metodo de la clase madre
super.reiniciar();
if(ResetTimer==false){
control_tiempo.stop();
ResetTimer=true;
}

mensaje.setText(" BIENVENIDO !");


punteoJ=0;
bloqueado=true;

for(int i =0;i<10;i++){
for(int y=0;y<10;y++){
matriz[i][y].setBackground(Color.orange);
matriz[i][y].setOcupado(false);
}
}
for(int i=0; i<5; i++){
num2 =random1.nextInt(6);//figura
num3 =random1.nextInt(5);//color
figuras[i].setIcon(new ImageIcon(a+"Figura"+num2+num3+".
gif"));
figuras[i].setNum(num2);
figuras[i].setColor(num3);
}
imagen.setIcon(new ImageIcon(a+"nada.jpg"));
control_tiempo.start();
ResetTimer=false;
revalidate();
iniciar();
repaint();

}
//Clase interna para crear objetos listener para los BOTONES DE FGURAS
private class FiguraListener implements ActionListener{
public void actionPerformed (ActionEvent event){
if(System.getProperty("os.name").toLowerCase().startsWit
h("windows"))
a = (".\\Imagenes\\");
else
a =("./Imagenes/");
// ciclo que muestra la figura seleccionada
bloqueado=false;
if(event.getSource()==reset){
reiniciar();
}
else{
for(int i=0; i<10; i++){
if(event.getSource()==figuras[i]){
numero1= i;
//contiene el boton seleccionada(numero )
temporal=figuras[i].getNum();//c
ontiene figura seleccionada
temporal2=figuras[i].getColor();
//contiene color seleccionado
i=10;
}
}
for(int i=0; i<10; i++){
lugares[i].setClick(false);//los pone en
false para poder ser usados lo labels de carril
}

imagen.setIcon(new ImageIcon(a+"Figura"+temporal
+temporal2+".gif"));
repaint();
}
}
}
//Clase interna para crear objetos listener para los lABELS
private class Label2Listener extends MouseAdapter{
public void mouseClicked (MouseEvent event){
if(bloqueado==false){//para que no tire la figura guardada
for(int i=0; i<10; i++){
if(event.getSource()==lugares[i]){ //ide
ntifica columna

click2 = lugares[i].getClick();/
/obtiene si se puede dar click o no (false es q si y true es que no)
numero2=i;
//contiene la columna seleccionada
lugares[9].setMarcado2(true);//p
one la ultima columna para no tirar
marcado3=lugares[numero2].getMar
cado2();//obtiene la columna para ver si es o no la ultima si esta en false si p
uede tirar
revalidate();

if(marcado3==false || temporal =
=5){//marcado tres identifica si es la ultima columna
if(click2 == false){//fa
lse es cuando se puede hacer click
imagen.setIcon(n
ew ImageIcon(a+"nada.jpg"));
repaint();
num2 =random1.ne
xtInt(6);//figura
num3 =random1.ne
xtInt(5);//color
figuras[numero1]
.setIcon(new ImageIcon (a+"Figura"+num2+num3+".gif"));
figuras[numero1]
.setNum(num2);
figuras[numero1]
.setColor(num3);
bloqueado=true;
repaint();
lugares[i].setCl
ick(true);
revalidate();
}
mover(temporal);

revalidate();
}
else{
mensaje.setText(" Vamos
adelante ! ");
nopuede();

lugares[i].setClick(true
);
revalidate();
}
}
}
VerColor();
}
conteo=0;
for(int i =0;i<10;i++){
for(int y=0;y<10;y++){
if (matriz[i][y].getBackground()== Color.orange)
{
conteo++;
System.out.println(conteo);
}
}
}
if (conteo==100){
control_tiempo.stop();
ResetTimer=true;
muestraMensajeGanar();
iniciar();

}
}
}
public void mover(int figura){
boolean ocupadoT1;
boolean ocupadoT2;
boolean ocupadoT3;
boolean ocupadoT4;
int u=0;
if(marcado3 == false || temporal == 5){
switch(temporal){ //determina que figura es y como mover
se parametro es la figura seleccionada
case 0:
for(int i =9;i>0;i--){//ciclo que maneja
ra desde la fila ultima para arriba( i=fila de abajo a arriba)
ocupadoT1=matriz[i-1][numero2].g
etOcupado(); //contieneel boleano de si hay algo o no arriba de la figura del la
do izq. arriba
ocupadoT2=matriz[i][numero2+1].g
etOcupado();//los mismo de arriba pero del lado der.
ocupadoT3=matriz[i][numero2].get
Ocupado();//los mismo de arriba pero del lado der. abajo
if (ocupadoT1==false && ocupadoT
2==false && ocupadoT3 == false){//verifica que no haya nada arriba de la figura
if(i==9)//si esta en la
ultima fila no le resta u si lo esta siempre lo resta.
u=0;
else
u=1;
filaE=i;

matriz[i
][numero2+1].cambiarColor(temporal2); // der abajo
matriz[i
][numero2+1].setOcupado(true);

//matriz
[9-1][numero2+1].cambiarColor(temporal2);// der arriba
matriz[i
-1][numero2].cambiarColor(temporal2);//izq arriba
matriz[i
-1][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setBackground(Color.orange);
matriz[i
][numero2].cambiarColor(temporal2); // izq abajo
matriz[i
][numero2].setOcupado(true);
if (u==1
){
matriz[i+u][numero2+1].setOcupado(false);//der abajo (borrar anterior)
matriz[i+u][numero2+1].setBackground(Color.orange);
matriz[i+u][numero2].setOcupado(false);// izq abajo (borrar anterior)
matriz[i+u][numero2].setBackground(Color.orange);
}

mensaje.
setText(" =D Bien Hecho ! xD");
repaint(
);
}
else{
break;
}
}

break;
case 1:
for(int i =9;i>0;i--){//ciclo que maneja
ra desde la fila ultima para arriba( i=fila de abajo a arriba)
ocupadoT1=matriz[i-1][numero2].g
etOcupado(); //contieneel boleano de si hay algo o no arriba de la figura del la
do izq. arriba
ocupadoT2=matriz[i][numero2+1].g
etOcupado();//los mismo de arriba pero del lado der. abajo
ocupadoT3=matriz[i][numero2].get
Ocupado();//los mismo de arriba pero del lado izq. abajo
ocupadoT4=matriz[i-1][numero2+1]
.getOcupado();//los mismo de arriba pero del lado der. arriba
if (ocupadoT1==false && ocupadoT
3==false && ocupadoT4 == false){//verifica que no haya nada arriba de la figura
if(i==9)//si esta en la
ultima fila no le resta u si lo esta siempre lo resta.
u=0;
else
u=1;
filaE=i;
//matriz
[i][numero2+1].cambiarColor(temporal2); // der abajo
//matriz
[i][numero2+1].setOcupado(true);
//matriz
[i+u][numero2+1].setOcupado(false);
//matriz
[i+u][numero2+1].setBackground(Color.orange);
matriz[i
-1][numero2+1].cambiarColor(temporal2);// der arriba
matriz[i
-1][numero2+1].setOcupado(true);

matriz[i
-1][numero2].cambiarColor(temporal2);//izq arriba
matriz[i
-1][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setBackground(Color.orange);
matriz[i
][numero2].cambiarColor(temporal2); // izq abajo
matriz[i
][numero2].setOcupado(true);

if (u==1
){
//matriz[i+u][numero2+1].setOcupado(false);//der abajo (borrar anterior)
//matriz[i+u][numero2+1].setBackground(Color.orange);

matriz[i-1+u][numero2+1].setOcupado(false); //der arriba (borrar anterior)


matriz[i-1+u][numero2+1].setBackground(Color.orange);

matriz[i+u][numero2].setOcupado(false);// izq abajo (borrar anterior)


matriz[i+u][numero2].setBackground(Color.orange);
}
mensaje.
setText(" =D Bien Hecho ! xD");
repaint(
);
}
else{
break;
}
}
break;
case 2:
for(int i =9;i>0;i--){//ciclo que maneja
ra desde la fila ultima para arriba( i=fila de abajo a arriba)
ocupadoT1=matriz[i-1][numero2].g
etOcupado(); //contieneel boleano de si hay algo o no arriba de la figura del la
do izq. arriba
ocupadoT2=matriz[i][numero2+1].g
etOcupado();//los mismo de arriba pero del lado der. abajo
ocupadoT3=matriz[i][numero2].get
Ocupado();//los mismo de arriba pero del lado izq. abajo
ocupadoT4=matriz[i-1][numero2+1]
.getOcupado();//los mismo de arriba pero del lado der. arriba
if (ocupadoT2==false && ocupadoT
4==false && ocupadoT3 == false){//verifica que no haya nada arriba de la figura
if(i==9)//si esta en la
ultima fila no le resta u si lo esta siempre lo resta.
u=0;
else
u=1;
filaE=i;
matriz[i
][numero2+1].cambiarColor(temporal2); // der abajo
matriz[i
][numero2+1].setOcupado(true);

matriz[i
-1][numero2+1].cambiarColor(temporal2);// der arriba
matriz[i
-1][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setBackground(Color.orange);
//matriz
[i-1][numero2].cambiarColor(temporal2);//izq arriba
//matriz
[i-1][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setBackground(Color.orange);
matriz[i
][numero2].cambiarColor(temporal2); // izq abajo
matriz[i
][numero2].setOcupado(true);

if (u==1
){
matriz[i+u][numero2+1].setOcupado(false);//der abajo (borrar anterior)
matriz[i+u][numero2+1].setBackground(Color.orange);

//matriz[i-1+u][numero2+1].setOcupado(false); //der arriba (borrar anterior)


//matriz[i-1+u][numero2+1].setBackground(Color.orange);

matriz[i+u][numero2].setOcupado(false);// izq abajo (borrar anterior)


matriz[i+u][numero2].setBackground(Color.orange);
}
mensaje.
setText(" =D Bien Hecho ! xD");
repaint(
);
}
else{
break;
}
}
break;
case 3:
for(int i =9;i>0;i--){//ciclo que maneja
ra desde la fila ultima para arriba( i=fila de abajo a arriba)
ocupadoT1=matriz[i-1][numero2].g
etOcupado(); //contieneel boleano de si hay algo o no arriba de la figura del la
do izq. arriba
ocupadoT2=matriz[i][numero2+1].g
etOcupado();//los mismo de arriba pero del lado der. abajo
ocupadoT3=matriz[i][numero2].get
Ocupado();//los mismo de arriba pero del lado izq. abajo
ocupadoT4=matriz[i-1][numero2+1]
.getOcupado();//los mismo de arriba pero del lado der. arriba
if (ocupadoT2==false && ocupadoT
4==false && ocupadoT1 == false){//verifica que no haya nada arriba de la figura
if(i==9)//si esta en la
ultima fila no le resta u si lo esta siempre lo resta.
u=0;
else
u=1;
filaE=i;
matriz[i
][numero2+1].cambiarColor(temporal2); // der abajo
matriz[i
][numero2+1].setOcupado(true);

matriz[i
-1][numero2+1].cambiarColor(temporal2);// der arriba
matriz[i
-1][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setBackground(Color.orange);
matriz[i
-1][numero2].cambiarColor(temporal2);//izq arriba
matriz[i
-1][numero2].setOcupado(true);

//matriz
[i][numero2].cambiarColor(temporal2); // izq abajo
//matriz
[i][numero2].setOcupado(true);
//matriz
[i+u][numero2].setOcupado(false);
//matriz
[i+u][numero2].setBackground(Color.orange);
if (u==1
){
matriz[i+u][numero2+1].setOcupado(false);//der abajo (borrar anterior)
matriz[i+u][numero2+1].setBackground(Color.orange);

//matriz[i-1+u][numero2+1].setOcupado(false); //der arriba (borrar anterior)


//matriz[i-1+u][numero2+1].setBackground(Color.orange);

//matriz[i+u][numero2].setOcupado(false);// izq abajo (borrar anterior)


//matriz[i+u][numero2].setBackground(Color.orange);

matriz[i-1+u][numero2].setOcupado(false); //izq arriba (borrar anterior)


matriz[i-1+u][numero2].setBackground(Color.orange);
}
mensaje.
setText(" =D Bien Hecho ! xD");
repaint(
);
}
else{
break;
}
}
break;
case 4:
for(int i =9;i>0;i--){//ciclo que maneja
ra desde la fila ultima para arriba( i=fila de abajo a arriba)
ocupadoT1=matriz[i-1][numero2].g
etOcupado(); //contieneel boleano de si hay algo o no arriba de la figura del la
do izq. arriba
ocupadoT2=matriz[i][numero2+1].g
etOcupado();//los mismo de arriba pero del lado der. abajo
ocupadoT3=matriz[i][numero2].get
Ocupado();//los mismo de arriba pero del lado izq. abajo
ocupadoT4=matriz[i-1][numero2+1]
.getOcupado();//los mismo de arriba pero del lado der. arriba
if (ocupadoT1==false && ocupadoT
2==false && ocupadoT3 == false && ocupadoT4==false){//verifica que no haya nada
arriba de la figura
if(i==9)//si esta en la
ultima fila no le resta u si lo esta siempre lo resta.
u=0;
else
u=1;
filaE=i;
matriz[i
][numero2+1].cambiarColor(temporal2); // der abajo
matriz[i
][numero2+1].setOcupado(true);

matriz[i
-1][numero2+1].cambiarColor(temporal2);// der arriba
matriz[i
-1][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setBackground(Color.orange);
matriz[i
-1][numero2].cambiarColor(temporal2);//izq arriba
matriz[i
-1][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setBackground(Color.orange);
matriz[i
][numero2].cambiarColor(temporal2); // izq abajo
matriz[i
][numero2].setOcupado(true);

if (u==1
){
matriz[i+u][numero2+1].setOcupado(false);//der abajo (borrar anterior)
matriz[i+u][numero2+1].setBackground(Color.orange);

//matriz[i-1+u][numero2+1].setOcupado(false); //der arriba (borrar anterior)


//matriz[i-1+u][numero2+1].setBackground(Color.orange);

matriz[i+u][numero2].setOcupado(false);// izq abajo (borrar anterior)


matriz[i+u][numero2].setBackground(Color.orange);

//matriz[i-1+u][numero2].setOcupado(false); //izq arriba (borrar anterior)


//matriz[i-1+u][numero2].setBackground(Color.orange);
}

mensaje.
setText(" =D Bien Hecho ! xD");
repaint(
);
}
else{
break;
}
}
break;
case 5:
int quitar;
for(int i =9;i>0;i--){//ciclo que maneja
ra desde la fila ultima para arriba( i=fila de abajo a arriba)
filaE=i;
if(marcado3==true){
quitar =0;
ocupadoT1=matriz[i-1][nu
mero2-quitar].getOcupado(); //contiene el boleano de si hay algo o no arriba de
la figura del lado izq. arriba
ocupadoT3=matriz[i][nume
ro2-quitar].getOcupado();//los mismo de arriba pero del lado izq. abajo
}
else{
quitar =0;
ocupadoT1=matriz[i-1][nu
mero2-quitar].getOcupado(); //contieneel boleano de si hay algo o no arriba de l
a figura del lado izq. arriba
ocupadoT3=matriz[i][nume
ro2-quitar].getOcupado();//los mismo de arriba pero del lado izq. abajo
}
//ocupadoT2=matriz[i][numero2+1-
quitar].getOcupado();//los mismo de arriba pero del lado der. abajo
//ocupadoT4=matriz[i-1][numero2+
1-quitar].getOcupado();//los mismo de arriba pero del lado der. arriba

if (ocupadoT1==false && ocupadoT


3==false){//verifica que no haya nada arriba de la figura

if(i==9)//si esta en la
ultima fila no le resta u si lo esta siempre lo resta.
u=0;
else
u=1;
//matriz
[i][numero2+1].cambiarColor(temporal2); // der abajo
//matriz
[i][numero2+1].setOcupado(true);
//matriz
[i+u][numero2+1].setOcupado(false);
//matriz
[i+u][numero2+1].setBackground(Color.orange);
//matriz
[i-1][numero2+1].cambiarColor(temporal2);// der arriba
//matriz
[i-1][numero2+1].setOcupado(true);
//matriz
[i-1+u][numero2+1].setOcupado(false);
//matriz
[i-1+u][numero2+1].setBackground(Color.orange);
matriz[i
-1][numero2].cambiarColor(temporal2);//izq arriba
matriz[i
-1][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setOcupado(false);
//matriz
[i-1+u][numero2].setBackground(Color.orange);
matriz[i
][numero2].cambiarColor(temporal2); // izq abajo
matriz[i
][numero2].setOcupado(true);
if (u==1
){
matriz[i+u][numero2].setOcupado(false);
matriz[i+u][numero2].setBackground(Color.orange);
}
mensaje.
setText(" =D Bien Hecho ! xD");
repaint(
);
}
else{
break;
}
}
break;

}
}
else{
mensaje.setText("No PUEDE poner la figura en esta colum
na ");
}
}
public void eliminar(){
ArrayList<ArrayList<Integer>> borrarF = Aborrar( filaE, numero2
, temporal2);
if(borrarF == null){
return;
}
if(borrarF.size()>0){
matriz[filaE][numero2].setBackground(Color.orange);
matriz[filaE][numero2].setOcupado(false);
matriz[filaE][numero2].setMarcado(false);
}
for(ArrayList<Integer> casilla : borrarF){

int xE = casilla.get(0).intValue();
int yE = casilla.get(1).intValue();
System.out.println(xE + " " + yE + " ka");
matriz[xE][yE].setBackground(Color.orange);
matriz[xE][yE].setOcupado(false);
matriz[xE][yE].setMarcado(false);
repaint();
}
}
public void VerColor(){
int a,b,c,d,a1,a2,b1,b2,c1,c2,d1,d2;
a=7;
b=7;
c=7;
d=7;
a1=7;
b1=7;
b2=7;
c1=7;
a2=7;
c2=7;
d1=7;
d2=7;
switch(temporal){ //determina que figura es y como moverse param
etro es la figura seleccionada
case 0:{

if(numero2==1 || numero2==2 || numero2==3 || num


ero2==4 || numero2==5 || numero2==6 || numero2==7 && filaE==1){
d=matriz[filaE-1][numero2+1].getColor();
//superior der ***************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
}
else if(filaE ==1 && numero2==0){
d=matriz[filaE-1][numero2+1].getColor();
//superior der ***************
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
}
else if(filaE==1 && numero2 ==8){
d=matriz[filaE-1][numero2+1].getColor();
//superior der ***************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
}
else if (numero2==0 && filaE!=1){
d=matriz[filaE-1][numero2+1].getColor();
//superior der ***************
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
}
else if(numero2==8 && filaE!=1){
d=matriz[filaE-1][numero2+1].getColor();
//superior der ***************
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ***********
}
else if((numero2==1 || numero2==2 || numero2==3
|| numero2==4 || numero2==5 || numero2==6 || numero2==7) && filaE!=1 ){
//a=matriz[i][numero2].getColor();//infe
rior izq
//b=matriz[i][numero2+1].getColor();//in
ferior der
//c=matriz[i-1][numero2].getColor();//su
perior izq
d=matriz[filaE-1][numero2+1].getColor();
//superior der ***************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
//a1=matriz[i+1][numero2].getColor();//i
nferior izq (inferior)
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
//b1=matriz[i+1][numero2+1].getColor();/
/inferior der (abajo)
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
//d2=matriz[i-1][numero2+2].getColor();/
/superior der (der)
//d1=matriz[i-2][numero2+1].getColor();/
/superior der (superior)
}
if(temporal2 == d || temporal2 == a2 || temporal
2 == b2 || temporal2 == c2 || temporal2 == c1 ){
System.out.println(" aki va eliminar ");
eliminar();
repaint();
}
}
break;
case 1:

if((numero2==1 || numero2==2 || numero2==3 || nu


mero2==4 || numero2==5 || numero2==6 || numero2==7 )&& filaE==1){
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
}
else if(filaE ==1 && numero2==0){
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
}
else if(filaE==1 && numero2 ==8){
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) ************
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
}
else if(numero2==0 && filaE!=1){
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)
}
else if(numero2==9 && filaE!=1){
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
}
else if((numero2==1 || numero2==2 || numero2==3
|| numero2==4 || numero2==5 || numero2==6 || numero2==7) && filaE != 1){
//a=matriz[i][numero2].getColor();//infe
rior izq
//b=matriz[i][numero2+1].getColor();//in
ferior der
//c=matriz[i-1][numero2].getColor();//su
perior izq
//d=matriz[filaE-1][numero2+1].getColor(
);//superior der ***************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
//a1=matriz[i+1][numero2].getColor();//i
nferior izq (inferior)
//b2=matriz[filaE][numero2+2].getColor()
;//inferior der (der) ***********
//b1=matriz[i+1][numero2+1].getColor();/
/inferior der (abajo)
c2=matriz[filaE-1][numero2-1].getColor()
;//superior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)
}
//System.out.println( + " a2 " + a2 + " c2 " +
" " + c2 + " c1 " + c1 + " d2 " + d2 + " d1 " + d1+ " " + temporal2 );
if(temporal2 == a2 || temporal2 == c2 || tempora
l2 == c1 || temporal2 == d2 || temporal2 == d1 ){
System.out.println(" aki va eliminar ");
eliminar();
repaint();
}
break;
case 2:

if((numero2==1 || numero2==2 || numero2==3 || nu


mero2==4 || numero2==5 || numero2==6 || numero2==7 ) && filaE==1){

a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
c=matriz[filaE-1][numero2].getColor();//
superior izq
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)

}
else if(filaE ==1 && numero2==0){
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
c=matriz[filaE-1][numero2].getColor();//
superior izq
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
}
else if(filaE==1 && numero2 ==8){
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
c=matriz[filaE-1][numero2].getColor();//
superior izq
}
else if(numero2==0 && filaE!=1){
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)
c=matriz[filaE-1][numero2].getColor();//
superior izq
}
else if(numero2==9 && filaE!=1){
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
c=matriz[filaE-1][numero2].getColor();//
superior izq
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)
}
else if((numero2==1 || numero2==2 || numero2==3
|| numero2==4 || numero2==5 || numero2==6 || numero2==7) && filaE!=1){
//a=matriz[i][numero2].getColor();//infe
rior izq
//b=matriz[i][numero2+1].getColor();//in
ferior der
c=matriz[filaE-1][numero2].getColor();//
superior izq
//d=matriz[filaE-1][numero2+1].getColor(
);//superior der ***************
a2=matriz[filaE][numero2-1].getColor();/
/inferior izq (izq) *************
//a1=matriz[i+1][numero2].getColor();//i
nferior izq (inferior)
b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
//b1=matriz[i+1][numero2+1].getColor();/
/inferior der (abajo)
//c2=matriz[filaE-1][numero2-1].getColor
();//superior izq (izq) ************
//c1=matriz[filaE-2][numero2].getColor()
;//superior izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)

}
System.out.println(" si paso ");
System.out.println(" si paso ");
if(temporal2 == a2 || temporal2 == b2 || tempora
l2 == d2 || temporal2 == d1 || temporal2 == c ){
System.out.println(" aki va eliminar ");
eliminar();
repaint();
}
break;
case 3:

System.out.println(" si paso ");


if((numero2==1 || numero2==2 || numero2==3 || nu
mero2==4 || numero2==5 || numero2==6 || numero2==7) && filaE==1){

b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)

}
else if(filaE ==1 && numero2==0){
b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)
}
else if(filaE==1 && numero2 ==8){
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
}

else if(numero2==0 && filaE!=1){


b2=matriz[filaE][numero2+2].getColor();/
/inferior der (der) ***********
c1=matriz[filaE-2][numero2].getColor();/
/superior izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor()
;//superior der (der)
d1=matriz[filaE-2][numero2+1].getColor()
;//superior der (superior)
}
else if(numero2==9 && filaE!=1){
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
d1=matriz[filaE-2][numero2+1].getColor();//super
ior der (superior)
}
else if((numero2==1 || numero2==2 || numero2==3
|| numero2==4 || numero2==5 || numero2==6 || numero2==7 )&& filaE!=1){
b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)
d1=matriz[filaE-2][numero2+1].getColor();//super
ior der (superior)

}
System.out.println(filaE-2 + " " + numero2 + " "
+ c1 + " " + temporal2 );
if(temporal2 == b2 || temporal2 == c2 || tempora
l2 == c1 || temporal2 == d2 || temporal2 == d1 ){
System.out.println(" aki va eliminar ");
eliminar();
repaint();
}
break;
case 4:
System.out.println(" si paso ");
if((numero2==1 || numero2==2 || numero2==3 || nu
mero2==4 || numero2==5 || numero2==6 || numero2==7 )&& filaE==1){
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)

}
else if(filaE ==1 && numero2==0){
b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)

}
else if(filaE==1 && numero2 ==8){
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************

else if(numero2==0 && filaE!=1){


b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)
d1=matriz[filaE-2][numero2+1].getColor();//super
ior der (superior)

}
else if(numero2==9 && filaE!=1){
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
d1=matriz[filaE-2][numero2+1].getColor();//super
ior der (superior)

}
else if((numero2==1 || numero2==2 || numero2==3
|| numero2==4 || numero2==5 || numero2==6 || numero2==7 )&& filaE!=1){
//a=matriz[i][numero2].getColor();//inferior iz
q
//b=matriz[i][numero2+1].getColor();//inferior
der
//c=matriz[i-1][numero2].getColor();//superior
izq
//d=matriz[filaE-1][numero2+1].getColor();//supe
rior der ***************
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
//a1=matriz[i+1][numero2].getColor();//inferior
izq (inferior)
b2=matriz[filaE][numero2+2].getColor();//inferio
r der (der) ***********
//b1=matriz[i+1][numero2+1].getColor();//inferio
r der (abajo)
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
d2=matriz[filaE-1][numero2+2].getColor();//super
ior der (der)
d1=matriz[filaE-2][numero2+1].getColor();//super
ior der (superior)

}
System.out.println(filaE-2 + " " + numero2 + " "
+ c1 + " " + temporal2 );
if(temporal2 == a2 || temporal2 == b2 || tempora
l2 == c2 || temporal2 == c1 || temporal2 == d1 || temporal2 == d2 ){
System.out.println(" aki va eliminar ");
eliminar();
repaint();
}
break;
case 5:

System.out.println(" si paso ");

if((numero2==1 || numero2==2 || numero2==3 || nu


mero2==4 || numero2==5 || numero2==6 || numero2==7 )&& filaE==1){
b=matriz[filaE][numero2+1].getColor();//inferior
der
d=matriz[filaE-1][numero2+1].getColor();//superi
or der ***************
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************

}
else if(filaE ==1 && numero2==0){
b=matriz[filaE][numero2+1].getColor();//inferior
der
d=matriz[filaE-1][numero2+1].getColor();//superi
or der ***************
}
else if(filaE==1 && numero2 ==8){
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
}

else if(numero2==0 && filaE!=1){


b=matriz[filaE][numero2+1].getColor();//inferior
der
d=matriz[filaE-1][numero2+1].getColor();//superi
or der ***************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
}
else if(numero2==9 && filaE!=1){
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
}
else if(numero2==1 || filaE != 1){
//a=matriz[i][numero2].getColor();//inferior iz
q
b=matriz[filaE][numero2+1].getColor();//inferior
der
//c=matriz[i-1][numero2].getColor();//superior
izq
d=matriz[filaE-1][numero2+1].getColor();//superi
or der ***************
a2=matriz[filaE][numero2-1].getColor();//inferio
r izq (izq) *************
//a1=matriz[i+1][numero2].getColor();//inferior
izq (inferior)
//b2=matriz[filaE][numero2+2].getColor();//infer
ior der (der) ***********
//b1=matriz[i+1][numero2+1].getColor();//inferio
r der (abajo)
c2=matriz[filaE-1][numero2-1].getColor();//super
ior izq (izq) ************
c1=matriz[filaE-2][numero2].getColor();//superio
r izq (superior) ************
//d2=matriz[i-1][numero2+2].getColor();//superio
r der (der)
//d1=matriz[i-2][numero2+1].getColor();//superio
r der (superior)

}
System.out.println(filaE-2 + " " + numero2 + " "
+ c1 + " " + temporal2 );
if(temporal2 == b || temporal2 == d || temporal2
== a2 || temporal2 == c2 || temporal2 == c1 ){
System.out.println(" aki va eliminar ");
eliminar();
repaint();
}
break;
}
}
public ArrayList<ArrayList<Integer>> Aborrar(int x, int y, int colorS){
ArrayList<ArrayList<Integer>>borrar= new ArrayList<ArrayList<Int
eger>>();
System.out.println("colores: "+temporal2+" - "+matriz[x][y].getC
olor());
if (matriz[x][y].getColor() != temporal2){
System.out.println(" pare");
return null;
}
else{
if (matriz[x][y].getMarcado()==true || x ==10 || y ==10)
{
System.out.println(" pare2");
return borrar;
}
matriz[x][y].setMarcado(true);
ArrayList<ArrayList<Integer>> vecinos = getVecinos( x,
y);
System.out.println("cuantos hijos tiene: ("+x+","+y+") -
color: "+colorS+" vecinos: "+vecinos.size());
for(ArrayList<Integer> vecino : vecinos){
System.out.println(" entre al for para añadir a bo
rrar");
System.out.println(" lo logre");
int vx = vecino.get(0).intValue();
int vy = vecino.get(1).intValue();
if(vx <10 && vy<10){
if(matriz[vx][vy].getMarcado()==false ){
System.out.println(vx +" " + vy
+ temporal2+ " " + matriz[vx][vy].getColor() );
if(matriz[vx][vy].getColor()==te
mporal2){
System.out.println(" pas
e el if de igual color");
ArrayList<Integer> nuevB
orrar= new ArrayList<Integer>();
nuevBorrar.add(vecino.ge
t(0));
nuevBorrar.add(vecino.ge
t(1));
borrar.add(nuevBorrar);
int wx = vecino.get(0).i
ntValue();
int wy = vecino.get(1).i
ntValue();
System.out.println(wx +
" aka si");
borrar.addAll(Aborrar(wx
,wy,temporal2));
}
}
}
}
}
return borrar;
}
public ArrayList<ArrayList<Integer>> getVecinos(int x, int y){
System.out.println("obtiene vecinos de: ("+x+" "+y+")");
ArrayList<ArrayList<Integer>> vecinosGuardados= new ArrayList<Ar
rayList<Integer>>();

ArrayList<Integer> vecinoTemporal = new ArrayList<Integer>();


System.out.println("entre **********************
*");
if((y==1 || y==2 || y==3 || y==4 || y==5 || y==6
|| y==7 || y==8 )&& x==0){
System.out.println(" if 1");
vecinoTemporal.add(x );//a2 x
vecinoTemporal.add( y-1);//a2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a1
vecinoTemporal.add(y);
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a3 x
vecinoTemporal.add(y-1); // a3 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//b1 x
vecinoTemporal.add(y+1); // b1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x-1);//c2 x
//vecinoTemporal.add(y-1); // c2 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();

vecinoTemporal.add(x);//b x
vecinoTemporal.add(y+1); // b y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
/*
vecinoTemporal.add(x-1);//c x
vecinoTemporal.add(y); // c y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x-1);//d x
vecinoTemporal.add(y+1); // d y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
*/
}
else if(x ==0 && y==0){
System.out.println(" if 2");
//vecinoTemporal.add(x );//a2 x
//vecinoTemporal.add( y-1);//a2 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
vecinoTemporal.add(x+1);//a1
vecinoTemporal.add(y);
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x+1);//a3 x
//vecinoTemporal.add(y-1); // a3 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
vecinoTemporal.add(x+1);//b1 x
vecinoTemporal.add(y+1); // b1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
/*
vecinoTemporal.add(x-1);//c2 x
vecinoTemporal.add(y-1); // c2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
*/

vecinoTemporal.add(x);//b x
vecinoTemporal.add(y+1); // b y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x-1);//c x
//vecinoTemporal.add(y); // c y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
//vecinoTemporal.add(x-1);//d x
//vecinoTemporal.add(y+1); // d y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();

}
else if(x==0 && y ==9){
System.out.println(" if 3");
vecinoTemporal.add(x );//a2 x
vecinoTemporal.add( y-1);//a2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a1 x
vecinoTemporal.add(y);// a1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a3 x
vecinoTemporal.add(y-1); // a3 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x+1);//b1 x
//vecinoTemporal.add(y+1); // b1 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
/*
vecinoTemporal.add(x-1);//c2 x
vecinoTemporal.add(y-1); // c2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
*/

//vecinoTemporal.add(x);//b x
//vecinoTemporal.add(y+1); // b y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
//vecinoTemporal.add(x-1);//c x
//vecinoTemporal.add(y); // c y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
//vecinoTemporal.add(x-1);//d x
//vecinoTemporal.add(y+1); // d y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
}
else if (y==0 && x!=0){
System.out.println(" if 4");
//vecinoTemporal.add(x );//a2 x
//vecinoTemporal.add( y-1);//a2 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
vecinoTemporal.add(x+1);//a1 x
vecinoTemporal.add(y);// a1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x+1);//a3 x
//vecinoTemporal.add(y-1); // a3 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
vecinoTemporal.add(x+1);//b1 x
vecinoTemporal.add(y+1); // b1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
/*
vecinoTemporal.add(x-1);//c2 x
vecinoTemporal.add(y-1); // c2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
*/

vecinoTemporal.add(x);//b x
vecinoTemporal.add(y+1); // b y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x-1);//c x
vecinoTemporal.add(y); // c y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x-1);//d x
vecinoTemporal.add(y+1); // d y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
}
else if(y==9 && x!=0){
System.out.println(" if 5");
vecinoTemporal.add(x );//a2 x
vecinoTemporal.add( y-1);//a2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a1 x
vecinoTemporal.add(y);// a1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a3 x
vecinoTemporal.add(y-1); // a3 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x+1);//b1 x
//vecinoTemporal.add(y+1); // b1 y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
vecinoTemporal.add(x-1);//c2 x
vecinoTemporal.add(y-1); // c2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);

//vecinoTemporal.add(x);//b x
//vecinoTemporal.add(y+1); // b y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();
vecinoTemporal.add(x-1);//c x
vecinoTemporal.add(y); // c y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
//vecinoTemporal.add(x-1);//d x
//vecinoTemporal.add(y+1); // d y
//vecinosGuardados.add(vecinoTemporal);
//vecinoTemporal = new ArrayList<Integer
>();

}
else if((y==1 || y==2 || y==3 || y==4 || y==5 ||
y==6 || y==7 || y ==8) && x!=0 ){
System.out.println(" if 6");
vecinoTemporal.add(x );//a2 x
vecinoTemporal.add( y-1);//a2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a1
vecinoTemporal.add(y);
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//a3 x
vecinoTemporal.add(y-1); // a3 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x+1);//b1 x
vecinoTemporal.add(y+1); // b1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x-1);//c2 x
vecinoTemporal.add(y-1); // c2 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x);//a1 x
vecinoTemporal.add(y); // a1 y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x);//b x
vecinoTemporal.add(y+1); // b y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x-1);//c x
vecinoTemporal.add(y); // c y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);
vecinoTemporal.add(x-1);//d x
vecinoTemporal.add(y+1); // d y
vecinosGuardados.add(vecinoTemporal);
vecinoTemporal = new ArrayList<Integer>(
);

}
return vecinosGuardados;
}
private class TiempoListener implements ActionListener{
public void actionPerformed(ActionEvent event){
control_tiempo.stop();
ResetTimer=true;
perdiste();
reiniciar();
revalidate();
}
}
private void muestraMensajeGanar(){
// se crea un metodo par
a ingresar
int seleccion = JOptionPane.show
OptionDialog(this,
"Bien! usted ah ganado! ¿Que desea hacer?",
"Juego ganado",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
null, new Object[]{"Juego Nuevo", "Salir del juego"},
"Juego Nuevo");
if(seleccion == 0 || seleccion <
= -1){
// llamo a la a
plicacion que esta en el Main
reiniciar();
//Si seleciono regresar
al menu
//o si apacho la "X" par
a salir del cuadro de dialogo
//Codigo para regresar a
l menu
}
else{
//Terminar la aplicacion
sin problemas
System.exit(0);
}
}
private void muestraMensajePerder(){
// se crea un metodo par
a ingresar
int seleccion = JOptionPane.show
OptionDialog(this,
"Mal! usted ah perdido! ¿Que desea hacer?",
"Juego Perdido",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
null, new Object[]{"Juego Nuevo", "Salir del juego"},
"Juego Nuevo");
if(seleccion == 0 || seleccion <
= -1){
// llamo a la a
plicacion que esta en el Main
reiniciar();
//Si seleciono regresar
al menu
//o si apacho la "X" par
a salir del cuadro de dialogo
//Codigo para regresar a
l menu
}
else{
//Terminar la aplicacion
sin problemas
System.exit(0);
}
}
private void nopuede(){
JOptionPane.showMessageDialog(this," No puede tirar en esta columna, Int
enta de nuevo");
}

Vous aimerez peut-être aussi