Código fuente gratuito del buscaminas

importar java.awt.*;

importar javax.swing.*;

importar Java.util.random;

importar Java.awt.event.* ;

La clase mínima extiende JPanel //clase de lei

{

//Observaciones: botón izquierdo del mouse = 1; botón derecho = 3;

private int flag = 0, status = 0; //Definir los atributos de Thunder 0: No abierto 1: Abierto 2: Marcado como Thunder 3: No seguro.

//flag = 0 no es un trueno; Flag = 1 es un trueno.

private int pero, count = 0; //Pero: ¿qué botón del ratón se presionó? Earl: ¿Cuántas minas hay en esta zona?

private int mx = 0, my = 0, MW = 10; // Definir las coordenadas y ancho de la mina.

Mín público() //Constructor

{

statu = 0

}

Mínimo público; (int f, int x, int y, int w)

//Constructor

{

bandera = f;

MX = x;

my = y

MW = w;

}

public int get flag(){ return flag; }

public int get status(){ return status;}

public int getMx(){ return MX;}

public int getMy() { return my;}

public int getMw(){ return MW;}

public int get count(){ return count;}

public void set flag( int f){ flag = f;}

recuento de conjunto de vacío público (int c){ recuento = c;}

setData de vacío público (int f, int x, int y, int w, int s)

//valor de paso

{

bandera = f;

MX =(x- 1) * w;

mi =(y-1)* w;

MW = w-1;

estado = s;

}

//Cambie las propiedades de la luz según los clics del mouse.

public int sendKey(int key)

{

//Valor de retorno, -1 si el juego termina.

int RTN = 1;

if(clave == 3)

{

Cambiar (estado)

{

Caso 1:

Rotura;

Caso 2:

statu = 3;

Romper;

Caso 3:

statu = 0;

Romper;

Caso 0:

statu = 2;

Pausa;

}

RTN = 1;

}

if(clave = = 1&&status==0)

{

Interruptor (bandera)

{

Caso 0:

estado = 1;

RTN = 2;

Pausa;

Caso 1:

estado = 1 ;

RTN =-1;

Pausa;

}

}

Devolver rtn

}

}

La clase DrawPanel extiende JPanel

{

private int i, j;

private int f = 0; //Si f = 1, el juego termina, si f =2, entonces gana

private int chx = 0, chy = 0 //Registra especialmente las coordenadas x y el valor de; y.

private int msum = 6, ksum = 0; //msum: número de minas, ksum: número de minas marcadas.

private int bx = 10, by = 10, bw = 40 //bx, by: el tamaño del tablero de ajedrez, bw: el tamaño de la pieza de ajedrez.

Tablero mínimo público[][] = {

{Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min ()},

{Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{ Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), {nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(),

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()

},

{Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min() (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo

Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min( ), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() , nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min() },

{Nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()},

{nuevo Min() (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min (), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min(), nuevo Min()

), new Min(), new Min(), new Min(), new Min()},

};

//Dibuja el área usando las coordenadas ax y ay. estado de trueno.

Public void Draw(Gráficos g, int ax, int ay)

{

int x, y, w; // Coordenadas x, y y; Ancho: w

int s, c, bandera//estado; número de truenos

int CX = bw/2-4; bw/2+4;

x = tablero[ax][ay]. getMx();

y = tablero[ax][ay]. getMy();

w = tablero[ax][ay]. getMw();

s = tablero[ax][ay]. obtener estado();

c = tablero[ax][ay]. getCount();

bandera= tablero[ax][ay]. get flag();

Cambiar

{

Caso 0: //No abierto.

{

g . establecer color(color . negro);

g.fillRect(x, y, w, w); p>Break;

}

Caso 1: //Estado abierto

{

g set color(color . blue) ;

g.fillRect(x, y, w, w);

If (c!= 0 & amp& ampFlag == 0) //Aquí no hay truenos.

{

g . establecer color(color . rojo);

g.drawString(String.valueOf(c), x + cx, y+cy); );

}

If(flag == 1) //Aquí hay truenos.

{

g . establecer color(color . rojo

g.fillRect(x, y, w, w); p>g . establecer color(color . azul);

G.drawString("雷",x+cx,y+cy);

}

Pausa;

}

Caso 2: //Estado de la marca de la mina

{

g . ;

g.fillRect(x, y, w, w);

g establecer color(color . azul); flag ", x+cx, y+cy);

Pausa;

}

Caso 3: //Estado incierto

{

g . establecer color(color . negro);

g.fillRect(x, y, w, w);

g . color . rojo);

g . Tirar de la cuerda ("?, x + cx, y + cy);

Romper;

}

Valor predeterminado:

Interrupción;

}

}

//Sin función de dibujo del trazador: use el eje de coordenadas, ay Dibuja el estado y los gráficos del Thunder.

Extracto de vacío público(int ax, int ay)

{

Gráficos g;

g = this .get gráficos() ;

draw(g, ax, ay);

}

//Abre un lugar sin minas alrededor y haz clic en el botón izquierdo para activar el área de dibujo. .

public int openNoMin(int ax, int ay)

{

int i, j;

if(ax & lt; 1 | | ay & lt; 1 | | ax & gt; bx | ay & gtby) //El área en la que se hace clic con el mouse está fuera de los límites.

if(board[ax][ay].getStatu()!= 0) devuelve 0; //Devuelve si esta área está abierta.

Tabla [ax][ay]. sendKey(1); //Si el valor de retorno es igual a -1, el juego termina.

draw(ax, ay);

if (board[ax][ay].getFlag() == 1)

//Si el juego Se acabó, y mostró todos los truenos.

{

for(I = 1; i & lt= bxi++)

{

for(j = 1; j & lt= byj++)

{

if(tablero de ajedrez[i][j].getFlag() == 1)

{

Consejo[i][j]. enviarClave(1);

dibujar(i, j);

}

}

}

return-1;

}

//Si el juego no ha terminado.

if(board[ax][ay].getCount()>0)

{

ksum++;

Devuelve 1 ; // Si hay truenos alrededor, no es necesario abrir el asedio.

}

if(Board[ax][ay].getCount()== 0&&Board[ax][ay].getFlag()==0 )

//No hay truenos alrededor. Abre alrededor hasta que haya truenos.

{

openNoMin(ax-1, ay-1); openNoMin(ax, ay-1); openNoMin(ax+1, ay-1);

openNoMin(ax-1, ay); openNoMin(ax, ay+1); ax+1, ay+1);

}

ksum++;

Devuelve 1;

}

//Calcule el número de truenos alrededor de las coordenadas xey.

público int getCount(int ai, int aj)

{

int suma = 0;

if(tablero[ai] [aj].getFlag() == 1)

{

Suma devuelta;

}

if(ai & gt; 1. & ampaj & gt1. & ampai & ltbx & amp& ampaj & lt by)

{

suma = tablero[ai-1][aj-1]. obtener bandera()+tablero[ai][aj-1]. obtener bandera()+tablero[ai+1][aj-1]. getFlag()+

Tablero[ai-1][aj].

obtener bandera()+tablero[ai+1][aj]. getFlag()+

Tablero[ai-1][aj+1]. obtener bandera()+tablero[ai][aj+1]. obtener bandera()+tablero[ai+1][aj+1]. obtener bandera();

}

if(ai == 1 & amp; & ampaj==1)

{

suma = tablero[ai+1][aj]. getFlag()+

Tablero de ajedrez[ai][aj+1]. obtener bandera()+tablero[ai+1][aj+1]. get flag();

}

if(ai == 1 & amp; & ampaj==by)

{

suma = tablero[ai][aj-1]. obtener bandera()+tablero[ai+1][aj-1]. getFlag()+

Tablero[ai+1][aj]. obtener bandera();

}

if(ai == bx & amp; & ampaj==1)

{

suma = tablero[ai-1][aj]. getFlag()+

Tablero[ai-1][aj+1]. obtener bandera()+tablero[ai][aj+1]. obtener bandera();

}

if(ai == bx & amp; & ampaj==by)

{

suma = tablero[ai-1][aj-1]. obtener bandera()+tablero[ai][aj-1]. getFlag()+

Tablero[ai-1][aj]. get flag();

}

if(ai = = 1&&aj>1. &aj< by)

{

suma = tablero[ai ][aj-1]. obtener bandera()+tablero[ai+1][aj-1]. getFlag()+

Tablero[ai+1][aj]. getFlag()+

Tablero de ajedrez[ai][aj+1]. obtener bandera()+tablero[ai+1][aj+1]. get flag();

}

if(ai = = bx & amp; & ampaj & gt1. & ampaj & lt by)

{

suma = tablero[ai-1][aj-1]. obtener bandera()+tablero[ai][aj-1]. getFlag()+

Tablero[ai-1][aj]. getFlag()+

Tablero[ai-1][aj+1]. obtener bandera()+tablero[ai][aj+1]. get flag();

}

if(ai & gt; 1. & ampai & ltbx & amp& ampaj==1)

{

suma = tablero[ai-1][aj]. obtener bandera()+tablero[ai+1][aj]. getFlag()+

Tablero[ai-1][aj+1]. obtener bandera()+tablero[ai][aj+1]. obtener bandera()+tablero[ai+1][aj+1]. obtener bandera();

}

if(ai & gt; 1.

& ampai & ltbx & amp& ampaj==by)

{

suma = tablero[ai-1][aj-1]. obtener bandera()+tablero[ai][aj-1]. obtener bandera()+tablero[ai+1][aj-1]. getFlag()+

Tablero[ai-1][aj]. obtener bandera()+tablero[ai+1][aj]. get flag();

}

Devuelve la suma;

}

//Pasar parámetros: cuántas columnas, cuántas muchas filas, ancho, número de trueno.

public void initMin(int ax, int ay, int aw, int as)

{

int k = 1 //Indica cuál mío se genera; .

Random r; //Número aleatorio

f = 0; //f=0 significa que el juego aún no ha terminado.

ksum = 0;

bx = ax

by = ay

bw = aw

msum = as

r = new Random();

//Inicializa el valor del chasis.

for(I = 1; i & lt= bxi++)

{

for(j = 1; j & lt= byj++)

{

Tablero[i][j]. setData(0, I, j, bw, 0);

}

}

//Generar truenos aleatoriamente

mientras( k & lt; = msum)

{

I = r nextint(bx)+1

j = r nextint(by)+1; ;

if(tablero[i][j].getFlag()!= 1)

{

Tablero[i][j]. set flag(1);

k++;

}

}

//Hay varias minas alrededor del área libre de minas . Inicialice sus valores.

for(I = 1; i & lt= bxi++)

{

for(j = 1; j & lt= byj++)

{

Tablero[i][j]. setCount(getCount(i, j));

}

}

establecer fondo(color . blanco);

repintar( );

}

//Constructor

Panel de dibujo público (int ax, int ay, int aw, int as)

{

initMin(ax, ay, aw, as);

addMouseListener(new MouseAdapter()

{

Public void mousePressed (MouseEvent me)

{

int r;

Regresar if (f!= 0); //Si el juego termina, regresar.

CHX = yo . getx();

chy = yo . gety();

if(me.getButton()!= 1)

{

Tablero [CHX/bw+1][chy/bw+1].

sendKey(yo . get botón());

draw(chx/bw+1,chy/bw+1);

}

else if( me.getButton() == 1)

{

if(openNoMin(chx/bw+1,chy/bw+1) == -1)

{

f = 1;

repintar();

}

si no (ksum + msum == bx* por)

{

f = 2;

repintar();

}

}

}

}

);

}

//Vuelve a dibujar todos los gráficos, incluidos algunos modificados.

Pintura pública en blanco (gráfico g)

{

int x, y, w

int

int CX = bw/2-4;

int cy = bw/2+4;

g.clearRect(0, 0, 600, 600); p>

for(I = 1; i & lt= bxi++)

{

for(j = 1; j & lt= byj++)

{

dibujar(g, I, j

}

}

Si (f == 1)

{

fuente f = nueva fuente("11",1,70);

fuente fo = g.get font();

g . establecer color(color . blanco);

g . >g .drawString("Juego terminado", 0, 200);

g set font(fo); 2)

{

Fuente f = nueva fuente("11",1,70);

fuente fo = g.get font();

g . establecer color(color . blanco);

g establecer fuente(f);

//g .

g.drawString("¡Tú ganas!",0,200);

g set font(fo);

}

}

};

//Entrada de la clase principal y el programa

Clase pública Mine extiende JFrame para implementar ActionListener

{

contenedor CP = getContentPane();

JButton Bt = nuevo JButton("apertura");

Etiqueta l1 = nueva etiqueta("Columna:");

Etiqueta l2 = nueva etiqueta (" línea: ");

Etiqueta l3 = nueva etiqueta (" ancho:

Etiqueta l4 = nueva etiqueta ("雷número: ") ;

TextField TF 1 = new TextField(" 10 ", 2); //Columna

TextField tf2 = new TextField(" 10 ", 2); //Línea

p>

TextField tf3 = new TextField("40",2);//Ancho

TextField tf4 = new TextField("15",2);//El número de truenos

int x=10, y=10, w=40, suma = 15

DrawPanel dp = new DrawPanel(x, y, w, suma

Mina pública()

{

establecer fondo(color . blanco

cp.setLayout(empty

<); p>CP agregar (DP);

CP agregar(Bt);

CP agregar(TF 1);

CP agregar(tf2). );

CP . agregar(tf3);

CP . agregar(tf4);

);

CP agregar(L2);

CP agregar(L3

CP . >l1.setBounds(20, 10, 20, 20);

tf1.setBounds(40, 10, 20, 20);

l2.setBounds(70, 10, 20); , 20);

tf2.setBounds(90, 10, 20, 20);

l3.setBounds(120, 10, 40, 20); >tf3.setBounds(160, 10, 20, 20);

l4.setBounds(190, 10, 60, 20);

tf4.setBounds(250, 10, 20); , 20);

bt.setBounds(300, 10, 80, 20);

dp.setBounds(20, 40, x*w, y * w); p>

p>

setResizable(false);

setSize(x*w+40, y * w+80);

SetTitle("Desminado") ;

show();

Bt. addactionlistener(this);

addWindowListener(new WindowAdapter()

{ventana pública vacía close(WindowEvent e)

{ sistema .

Public void La operación se ha ejecutado (evento de operación e)

{

if(e.getSource() == bt)

{

/ /x = entero . parse int(TF 1 . gettext());

//y = entero . parse int(tf2 . gettext());

//w = entero . parse int(tf3 . gettext());

suma = entero . parse int(tf4 . gettext());

setSize(x) *w+40, y * w+80);

dp.setBounds(20, 40, x*w, y * w);

show();

dp.initMin (x, y, w, suma);

}

}

Public static void main(String args[])

{

Nueva Mina();

}

};