Red de conocimiento informático - Conocimiento sistemático - Código fuente del sitio web de clasificación de juegos

Código fuente del sitio web de clasificación de juegos

Tengo java, puedes echarle un vistazo: un rompecabezas.

Importar Java .

Importar javax.swing.*;

La clase mainframe extiende jframe para implementar el detector de acciones {//Define todo el marco.

JButton privado[]JB = nuevo JButton[8];

JButton privado jbs = nuevo JButton(" apertura ");

JButton privado jbres = nuevo JButton("Reiniciar");

JPanel privado jp 1 = nuevo JPanel();

JPanel privado jp2 = nuevo JPanel();

privado int [ ]n = nuevo int[9];

int privado[]n 1 = nuevo int[9];

posición int privado = 8, p, q;

Bl booleano privado, startbl = false

JLabel JL privado = nuevo JLabel();

cuenta int privada = 0;

JLabel JL privado 1 = new JLabel(" integer . tostring(0));

Public host(){ // método de construcción del marco

int I;

for (int j = 0; j ltn .longitud; j){

n[j]= j;

n 1[j]= n[j];

}

for(I = 0; I ltjb.lengthI ){ //Asigne un valor correspondiente a cada botón y grabe al oyente

JB[. entero . tostring(I 1));

Jb[i]. setFont("número", fuente. negrita, 48));

jp2 . );

jb[i].

addActionListener(this);

}

for(I = 0; iltn. length; i){

if(n[i] == posición )

jp2 . agregar(JL);

Otros

jp2 .

jp2.setLayout(new GridLayout(3, 3)); //Registra el oyente

jbs. addactionlistener(this);

jbres. this);

jp 1. add(jbs);

jp 1. add(jbres);

jp 1. add(JL 1) ;

jp 1. set layout(new FlowLayout()); //Establece jp1 como diseño de flujo.

set layout(new BorderLayout()); //El diseño general es el diseño del borde.

this.add("Norte ", jp 1);

this.add("Centro ", jp2); ”);

this.setBounds(100, 100, 300, 350);

this . setdefaultcloseoperative(JFrame. EXIT _ ON _ CLOSE); / p>

this . setresizable(false);

this . set visible(true);

}

acción nula pública realizada (evento de acción). e ){//Implementar eventos del botón.

If(e.getSource()==jbres){ //Evento del botón de reinicio.

for(int j = 0; j ltn .length; j )

n[j]= n 1[j];

reShow();

startbl = true

count = 0;

JL 1 . settext(" integer . tostring(0));

}

Else if(e.getSource()==jbs) //Evento del botón de inicio

This. init();

else if(startbl){ //Evento de movimiento del botón 1-8

for(int I = 0; i ltjb.lengthi)

if(e.getSource() == jb[i]){

//sistema . out . println(I 1);

for(int a = 0; a ltn .length; a ){

if(n [a]==i)

p = a;

si(n[a]= =posición)

q = a;

}

}

si (p!= 0 amp ampp!= 1.

amplificador! = 2)

Si ((p-3) == q)

Intercambiar (p, q);

Si (p! = 0 amp ampp ! = 3 amperios ampp! = 6)

Si ((p-1) == q)

Intercambiar (p, q);

si ( p!= 2 amperios ampp!= 5 amperios ampp!= 8)

if ((p 1) == q)

intercambio (p, q);

Si (p!= 6 amperios ampp!= 7 amperios ampp!= 8)

Si ((p 3) == q)

Intercambiar ( p, q) ;

}

}

Intercambio de vacío público (int x, int y) {//El botón 1-8 se intercambia con una imagen en blanco.

int z;

z = n[x];

n[x]= n[y]; y]= z;

JL 1. settext(" entero . tostring(count));

reShow();

win();

win();

p>

}

Public void Init(){ //Generar aleatoriamente la interfaz del juego

int i=0, j, x;

Booleano bl;

mientras(ilt9){

bl =true;

x =(int)(matemáticas. aleatorio()* 9);

p>

for(j = 0;j lti;j)

if(n[j] == x)

bl = false;

Si (bl){

n[i ]= x;

n 1 [I-1]= x;

}

}

reShow();

startbl = true

count = 0;

JL 1. settext(" integer . tostring(0));

}

public void show(){// Reescribe la interfaz del juego.

for(int I = 0; i ltn . length; i ) {

if (n[i] == posición)

jp2 . JL);

Otros

jp2 . add(JB[n[I]]);

}

revitate(. );

}

Public void win(){ //Determine si fue exitoso.

winbl booleano = true

for(int I = 0; iltn. length; i)

if(n[i]!=i)

winbl = false

if(winbl){

Panel de opciones. Muestra un cuadro de diálogo de mensaje (este, "¡Felicitaciones, lo logró!" "Usó "Integer.toString(count) "paso", "", jooptionpane.

information_message);

startbl = false

}

}

}

Mosaico de clase pública {// Clase de función principal

Public static void main(String[] args){

Nuevo mainframe();

}

}

Lo inventé antes. No muy bueno. Por favor consúltelo.