No se lo que pasa, porfavor!!!!!!

Amaia
04 de Mayo del 2006
Hola:

Tengo un problema que me parece ilógico. Al final del laukiakKendu hago un imprimir
y me imprime lo que he puesto hay abajo, y luego cuando hago klik en
un boton ya no tiene ese valor,esta todo a false como si fuese inicializado, alguien sabe porque
puede ser esto?? GRACIAS!!!!


public class SudokuFrame extends JFrame
{
JButton botoiak[][];
JButton jButtonx = new JButton();
JButton jButtony = new JButton();
JButton jButtonz = new JButton();
JButton jButtonv = new JButton();


static Arrayak matrize[][]; //arrayak tiene una variable boolean y un array de booleanos.
static Arrayak matrize_kopia[][];
int i,j;
boolean array[];
int biak[];
kudeatzaileaInterfazea ki;
private static int x;
private static int y;
int zenbakiak[];
posizioak taula1[];
posizioak taula2[];
posizioak taula3[];
posizioak taula4[];
posizioak taula5[];
posizioak taula6[];
posizioak taula7[];
posizioak taula8[];
posizioak taula9[];

posizioak taula_pos[];

// declarar el matriz en la cual guardaremos la solución aleatoria
int matrize_soluzioa [][];

public SudokuFrame(kudeatzaileaInterfazea pki)
{
try
{

botoiak= new JButton[9][9];
for(int x=0;x<=8;x++)
{
for(int y=0;y<=8;y++)
{
botoiak[x][y] = new JButton();
}
}
ki= pki;
matrize= new Arrayak [9][9];
matrize_kopia= new Arrayak [9][9];

for(i=0; i<=8;i++)
{
for(j=0;j<=8;j++)
{
matrize[i][j] = new Arrayak(array);
matrize_kopia[i][j] = new Arrayak(array);

}
}
jbInit();
}
catch(Exception e)
{
System.out.println("Errorea sudoku frame");
e.printStackTrace();
}

}


void jButton13_actionPerformed(ActionEvent e)
{
zenbakiaAukeratuFrame zbk17 =new zenbakiaAukeratuFrame(ki,botoiak[1][3]);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = zbk17.getSize();
if (frameSize.height > screenSize.height)
{
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width)
{
frameSize.width = screenSize.width;
}
zbk17.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

matrize[x][y].imprimir(); y esto siempre me imprime:// false,false,false,false,false,false,false,false,false// porque??
//me hace como si estubies toda la matriz a false, pero abajo tienen valor porque se pierde el valor???
this.guardar_coordenadas(1,3);

matrize[x][y].imprimir();
ki.botoiak_ezabatu(zbk17);
zbk17.setVisible(true);
}
public void laukiak_kendu()
{
int n=0;
int max=81;
int zen=0;
int a=0,b=0;
posizioak auk;
Random rnd= new Random();
taula_pos= new posizioak[81];

for(int i=0;i<=8;i++)
{
for(int j=0;j<=8;j++)
{
taula_pos[n]= new posizioak(i,j);
this.matrize[i][j].true_jarri();
this.matrize[i][j].jarrita=true;
this.matrize_kopia[i][j].true_jarri();
this.matrize_kopia[i][j].jarrita=true;
n++;
}
}

while(soluzioa_dauka()&& max!=0)
{

matrizeak_kopiatu(matrize,matrize_kopia);
zen= rnd.nextInt(max+1);
a= taula_pos[zen].lortux();
b= taula_pos[zen].lortuy();
atzera_pasa(taula_pos,zen,max-1);
// System.out.println("a="+a);
// System.out.println("b="+b);
x=a;
y=b;
ki.zutabean_ezabatu(matrize_soluzioa[a][b]-1,false,true);
ki.errenkadan_ezabatu(matrize_soluzioa[a][b]-1,false,true);
ki.matrize_txikiak_ezabatu(matrize_soluzioa[a][b]-1,false,true);
matrize[a][b].jarrita= false;
//
matrizeak_kopiatu(matrize_kopia,matrize);

max--;
}
matrizeak_kopiatu(matrize,matrize_kopia);

if(!soluzioa_dauka())
{
matrizeak_kopiatu(matrize,matrize_kopia);
matrize[a][b].jarrita=true;
ki.zutabean_ezabatu(matrize_soluzioa[a][b]-1,true,true);
ki.errenkadan_ezabatu(matrize_soluzioa[a][b]-1,true,true);
ki.matrize_txikiak_ezabatu(matrize_soluzioa[a][b]-1,true,true);

}
matrize[x][y].inprimir(); !!!!!!!!!!!!!!!! Esto imprime por ejemplo: true,true,true,false,false,false,true,false,false
}
}

Diego
04 de Mayo del 2006
¿En qué te basas para poner el nombre a los métodos y propiedades que el código resulta tan ilegible? ejem: matrize_soluzioa, matrizeak_kopiatu, soluzioa_dauka, ...

Amaia
04 de Mayo del 2006
Ya lo siento, pero esk estan en vasco, si no los entiendes puedo ponerlos en español, pero por favor ayudame!!! GRACIAS!!!!