A ver si alguien lo averigua?

Jakob
19 de Agosto del 2004
Hola estoy con la practica esa del juego de domino que tanto estaban pidiendo por ahi, y ya veo q no la han conseguido jeje... es normal, al final a todos nos falta tiempo para entregar las putas practikas, por no hablar del compañero masilla que no haze na XDDDDD.

Bueno pues eso a ver si alguien sabe por que cada vez que ejecuto esto me dibuja entre 24-27 fichas, cuando el metodo primero inicializa bien las 28, pero al repartirlas algo falla y no se q coño es.

gracias,espero ansioso al makina q me haga ver lo tonto q soy.

un salu2.

Jakob
19 de Agosto del 2004
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class Prueba extends JFrame implements MouseListener {

static JFicha fichas[] = new JFicha [28];
static JFicha fichaJ1[] = new JFicha [14];
static JFicha fichaJ2[] = new JFicha [14];

public Prueba () {

// Inicializamos el array de fichas
int pos = 0;

for (int i=0; i<=6; i++) {
for (int j=6; j>=i; j--) {
fichas[pos] = new JFicha (i,j);
//fichas[pos].addMouseListener (this);
//getContentPane().add((new Panel()).add(fichas[pos]));
pos++;
}
}

// Repartimos a J1 y J2
int pos1=0;
int pos2=0;
int num1=0, num2=0;
while (pos1<14 && pos2<14) {

num1=(int)(Math.random()*27);
if (pos1<14 && fichas[num1]!=null) {
fichaJ1[pos1]=fichas[num1];
fichaJ1[pos1].addMouseListener (this);
getContentPane().add((new Panel()).add(fichaJ1[pos1]));
fichas[num1]=null;
pos1++;
}
num2=(int)(Math.random()*27);
if (pos2<14 && fichas[num2]!=null) {
fichaJ2[pos2]=fichas[num2];
fichaJ2[pos2].addMouseListener (this);
getContentPane().add((new Panel()).add(fichaJ2[pos2]));
fichas[num2]=null;
pos2++;
}
}

getContentPane().setLayout (new GridLayout(4,7));
pack();
setVisible(true);
}

public void mouseClicked (MouseEvent ae) {
if (ae.getSource() instanceof JFicha) {
JFicha f = (JFicha)ae.getSource();
if (f.getAlignment() == JFicha.VERTICAL) f.setAlignment (JFicha.HORIZONTAL);
else f.setAlignment (JFicha.VERTICAL);
}
}
public void mouseReleased (MouseEvent ae) {}
public void mouseEntered (MouseEvent ae) {}
public void mouseExited (MouseEvent ae) {}
public void mousePressed (MouseEvent ae) {}

}