Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar Java para hacer un programa buscaminas, sé original.

Bien hecho, puntos extra 100.

Cómo utilizar Java para hacer un programa buscaminas, sé original.

Bien hecho, puntos extra 100.

El primer archivo JAVA

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;< / p>

/**

* Un panel que muestra todos los botones

* @ Administrador de autores

*

* /

la clase pública AllButtonPanel extiende JPanel implementa ActionListener{

private int row; //row Count

private int col //columnas

private int mineCount; //minas

private MineButton[][] allButtons; //todos los botones

public AllButtonPanel (int fila, int col, int mineCount){

this.row=fila;

this.col=col;

this.mineCount=mineCount;

allButtons=new MineButton[fila] [col ];

createButtons();

createMine();

init()

}

init privado void(){

this.setLayout(new GridLayout(row, col));

for(int i=0; ilt; allButtons.length; i ) {

for(int j=0;jlt;allButtons[i].length;j){<

this.add(allButtons[i][j]);

p>

}

}

}

}

/**

* Aleatorización Bray método

*

*

*

private void createMine(){

int n=0;

while(nlt;mineCount){//Generar minas mineCount aleatorias

int i=(int)(Math.random()*row);

int j=(int)(Math.random()* col);

if(allButtons[i][j].getCountOfSurroundMines()! =-1){

allButtons [i][j].setCountOfSurroundMines(-1);

n ;

}

}

for(int i = 0;ilt;allButtons.length;i ){ //calcula el número de minas circundantes en cada posición<

/p>

for(int j=0; jlt; allButtons[i].length; j ){

if(allButtons[i][j].getCountOfSurroundMines()! =-1) {

allButtons[i][j].setCountOfSurroundMines(getSurroundMineCount(i, j));

}

}

}

}

****

* Calcular (i.j) el número de minas en 8 posiciones alrededor de la coordenada, j) el número de minas en 8 posiciones alrededor de la coordenada Cantidad

* @param data

* @param i

* @param j

* @return

*/

private int getSurroundMineCount(int i, int j){

int num=0 //Calcular el número de minas circundantes

if(i -1gt;=0amp;j-1gt;=0){

num =(allButtons[i-1][j-1].getCountOfSurroundMines()==-1?1 :0) ;

}

if(i-1gt;=0){

num =(allButtons[i-1][j].getCountOfSurroundMines ()= =-1?1:0);

}

if(i-1gt;=0amp;amp;j 1lt;allButtons[0].length){

num =(allButtons[i-1][j 1].getCountOfSurroundMines()==-1?getCountOfSurroundMines()==-1 ?1:0);

}

if(j-1gt;=0){

num =(allButtons[i][j-1].getCountOfSurroundMines()==-1?1:0);

}

if(j 1lt. allButtons[0].length){

num =(allButtons[i][j 1].getCountOfSurroundMines()= =-1 ?1:0);

}

if(i 1lt; allButtons.length&j-1gt;=0){

num = ( allButtons[i 1][j-1].getCountOfSurroundMines()==-1?1:0);

}

if(i 1lt.allButtons.length){

num =(allButtons[i 1][j-1].getCountOfSurroundMines()==-1?allButtons.length){

num =(allButtons[i 1][ j ].getCountOfSurroundMines()==-1?1:0);

}

if(i 1lt; allBu

ttons.length &j 1lt;allButtons[0].length){

num =(allButtons[i 1][j 1].getCountOfSurroundMines()==-1?1:0) ;

}

return num

}

/**

* Generar botón

*

*/

private void createButtons(){

for(int i=0; ilt; allButtons.length; i ) {

for(int j=0;jlt;allButtons[i].length;j){

allButtons[i][j]=new MineButton(i,j);

allButtons[i][j].setSize(6, 6);

allButtons[i][j].remainMine.setText(remain ""); b.setText("amp;");

}else if(b.getText().equals("amp;")){

permanecer ;

CleanMine.remainMine.setText(permanecer "");

b.setText("");

}

}

}

}

});

}

}

}

public void actionPerformed(ActionEvent e) {//Método para escuchar eventos de clic

MineButton b=(MineButton)e.getSource();

int r= b.getRow( );

int c = b.getCol();

if(allButtons[r][c].getCountOfSurroundMines() == -1){// si es una mina

for(int i=0;ilt;allButtons.length;i){//poner todos los botones Mostrarlos todos

for(int j=0;jlt ; allButtons[i ].getCountOfSurroundMines()==0){// Si la posición está vacía (la posición no es una mina y no hay minas en las 8 posiciones circundantes)

allButtons[i][j] .setText ("");

allButtons[i][j].setBackground(Color.CYAN);

}else{/Si la posición no es mía, pero hay son minas en las 8 posiciones circundantes

allButtons[i][j].setText(Color.CYAN);