Solicitar programa fuente de rompecabezas java
importar java.awt.*;
importar java.awt.event.importar java.util.Random; Aleatorio
importar javax.swing.Random.*;
importar java.awt.event.*;
la clase pública Games extiende JFrame implementa ActionListener {
botones JButton privados[][];// Una matriz para almacenar los botones
contenedor Container privado;// Un contenedor
diseño GridLayout privado;// Diseño como GridLayout
private int count = 0, is[] = new int[8];
juegos públicos() {
super("Rompecabezas game");//Establecer título
diseño = new GridLayout(3, 3);//3 filas y 3 columnas
contenedor = getContentPane();//Diseño del contenedor, Esto es importante, de lo contrario se producirá una excepción de referencia nula
container.setLayout(layout);//Aplicar diseño al contenedor
botones = new JButton[3][3]; // Asigna espacio de almacenamiento para la matriz de botones
int localizar1, localizar2; // localizar1 se usa para indicar el elemento generado actualmente localizar2 se usa para indicar el elemento antes de localizar1
for ( localizar1 = 0; localizar1 < 8; localizar1++) {// Este método genera 8 números del 1 al 8. Estos números se asignarán aleatoriamente a la matriz, es decir: del 1 al 8.
e., secuencia desordenada
int g = new Random().nextInt(8) + 1;// Genera una clave en blanco aleatoria, es decir, la que no se muestra
, es decir, la clave que no se muestra
es[locate1] = g;
for (locate2 = localizar1 - 1; 0 <= localizar2; localizar2--) {
if (es[locate1] == es[locate2])
break;
}
if (locate2 != -1 )
localizar1--;
}
int temp = 0;
int r = new Random().nextInt(3 );// genera un número aleatorio de 0 a 3, que representa una fila de clave en blanco
int l = new Random().nextInt(3);// Genera aleatoriamente un número de 0 a 3, que representa una fila de clave en blanco
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if ( r == i && l == j) {//Establece la clave en blanco en 9 y no la muestra
botones[i][j] = new JButton("9") ;
contenedor.add(botones[i][j]);
botones[i][j].setVisible(false);
} else {
botones[i][j] = new JButton("" + is[temp++]);// usa el valor de la matriz como los nombres de los 8 botones mostrados
contenedor.add(buttons [i][j]);
}
botones[i][j].addActionListener(this);//Regístrese para escuchar eventos
}
}
setSize(300, 300);// Establece el tamaño del área del contenedor de visualización
setVisible(true );
}
public void actionPerformed(evento ActionEvent) {// Procesamiento de eventos, debido a la pequeña cantidad de cálculo, todos los botones se analizarán por separado
JButton b = (JButton) event.getSource() ;
if (b = = botones[0][0]) {
if (botones[0][1] .getText().equals("9")) {
botones[0][1].setText("" + botones[0][0].getText());
botones[0][1].setVisible (verdadero);
botones[0][0].setText("9");
botones[0][ 0].setVisible(false);
count++;
} else if (buttons[1][0].getText().equals("9")) { p>
botones[1][0].setText("" + botones[0][0].setVisible(false);
count++;
}
}
else if (b == botones[0][1]) {
if (botones[0][0].getText().equals("9") ) {
botones[0][0].setText("" + botones[0][1].getText());
botones[0] [0].setVisible(true);
botones[0][1].setText("9");
botones[0][1].setVisible(false) ;
count++;
} else if (botones[0][2].getText().equals("9")) {
botones[0][2 ].setText("" + botones[0][1].getText());
botones[0][2].setVisible(true);
botones[0 ][1].setText("9");
botones[0][1].setVisible(false);
count++;
} else if (botones[1] [1].getText().equals("9")) {
botones[1][1].setText("" + botones[0][1]. getText());
botones[1][1].setVisible(true);
botones[0][1].setText("9");
botones[0][1].setVisible(false);
count++;
}
} else if (b == botones[ 0][2]) {
if (botones[0][1].getText().equals("9")) {
botones[0][1] .setText("" + botones[0][2].getText());
botones[0][1].setVisible( true);
botones[0] [2].setText("9");
botones[0][2].setVisible(false);
count++;
} else if (botones[1][2].getText().equals("9")) {
botones[1][2].setText("" + botones[0][2].getText ());
botones[1][2].setVisible(true);
botones[0][2].setText("9");
botones[0][2].setVisible(false);
count++;
}
}
} más if (b == botones[1][0]) {
if (botones[0] [0].getText
().equals("9")) {
botones[0][0].setText("" + botones[1][0].getText());
botones[0][0].setVisible(true);
botones[1][0].setText("9");
botones[1][0] .setVisible(false);
count++;
} else if (botones[1][1].getText().equals("9" )){
botones[1][1].setText("" + botones[1][0].getText());
botones[1][1].setVisible(true);
botones[1][0].setText("9" );
botones[1][0].setVisible(false);
count++;
} else if (botones[2][0].getText().equals("9")) {
botones[2][0].setText("" + botones[1][0].getText());
botones[2][0].setVisible(true);
botones[1][0].setText ("9");
botones[1][0].setVisible(false);
recuento++;
}
} else if (b == botones[1][1]) {
if (botones[0][1].getText().equals("9")) {
botones[0][1].setText("" + botones[1][1].getText());
botones[0][1].setVisible(true); p> p>
botones[1][1].setText("9");
botones[1][1].setVisible(false);
recuento++ ;
} else if (botones[1][0].getText().equals("9")) {
botones[1][0].setText(" " + botones[1][1].getText());
botones[1][0].setVisible(true);
botones[1][1]. setText( "9");
botones[1][1].setVisible("");
botones[1][1].false);
contar++;
} else if (botones[1][2].getText().equals("9")) {
botones[1][2] .setText ("" + botones[1][1].getText())
botones[1][2].setVisible(true);
botones[1] [1 ].setText("9");
botones[1][1].setVisible(false);
>
count++;
} else if (botones[2][1].getText().equals("9")) {
botones[2][1 ].setText("" + botones[1][1].getText());
botones[2][1].setVisible(true);
botones[1 ][1].setText("9");
botones[1][1].setVisible(false);
count++;
}
} else if (b = = botones[1][2]) {
if (botones[0][2].getText().equals("9")) {
botones[0][2].setText("" + botones[1][2].getText());
botones[0][2].setVisible (verdadero);
botones[1][2].setText("9");
botones[1][2].setVisible(false);
count++;
} else if (botones[2][2].getText().equals("9")) {
botones[2][2] .setText("" + botones[1][2].getText());
botones[2][2].setVisible(true);
botones[1] [2].setText("9");
botones[1][2].setVisible(false);
count++;
} else if (botones[1] [1].getText().equals("9")) {
botones[1][1].setText("" + botones[1][2].getText ());
botones[1][1].setVisible(true);
botones[1][2].setText("9");
botones[1][2].setVisible(false);
count++;
}
} else if (b == botones[2] ][0]) {
if (botones[1][0].getText().equals("9")) {
botones[1][0]. setText("" + botones[2][0].getText());
botones[1][0].setVisible( true);
botones[2][ 0].setText("9");
botones[2][0].setVisible(false);
count++;
} else if ( botones[2][1].getText().equals("9")) {
botones[2][1].setText("" + botones[2][0].getText( ));
botones[2][1].setVisible(true);
b
uttons[2][0].setText("9");
botones[2][0].setVisible(false);
count++;
}
}
else if (b == botones[2][1]) {
if (botones[2][0].getText ().equals("9")) {
botones[2][0].setText("" + botones[2][1].getText());
botones[2][0].setVisible(true );
botones[2][1].setText("9");
botones[2][1] .setVisible(false);
count++;
} else if (buttons[2][2].getText().equals("9")) {
botones[2][2].setText("" + botones[2][1].getText());
botones[2][2].setVisible(true);
botones[2][1].setText("9");
botones[2][1].setVisible(false);
count++;
} else if (botones[1][1].getText().equals("9")) {
botones[1][1].setText("" + botones[2][1].getText());
botones[1][1].setVisible(true);
botones[2][1].setText ("9");
botones[2][1].setVisible(false);
recuento++;
}
} else if (b == botones[2][2]) {
if (botones[2][1].getText().equals(" 9")) {
botones[2][1].setText("" + botones[2][2].getText());
botones[2][1].setVisible(true); p> p>
botones[2][2].setText(" 9");
botones[2][2].setVisible(false);
recuento++ ;
} else if (botones[1][2].getText().equals("9")) {
botones[1][2].setText(" " + botones[2][2].getText());
botones[1][2].setVisible(true);
botones[2][2]. setText( "9");
botones[2][2].setVisible(false);
count++;
}
}
if (buttons[0][0].getText().equals("1")//Si se han ordenado del 1 al 8, ejecuta
Esta declaración
&& botones[0][1].getText().equals("2")
&& botones[0][2].getText().equals( "3")