📄 miner21.java
字号:
j=ClickecButton.num_y;
if (ClickecButton.isBomb==true) {
}
else {
// if (( (i - 1 >= 0) && (j - 1 >= 0)&&(bombButton[i - 1][j - 1].isClicked==true))&&( (i - 1 >= 0)&&(bombButton[i - 1][j].isClicked==true))&&((i - 1 >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i - 1][j + 1].isClicked==true))&&((i >= 0) &&(j - 1 >= 0)&&(bombButton[ i ][j - 1].isClicked==true))&&((i >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[ i ][j + 1].isClicked==true))&&((j - 1 >= 0) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i + 1][j - 1].isClicked==true))&&((i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i + 1][ j ].isClicked==true))&&((j + 1 <= ((int)Math.sqrt(BlockNum)-1) ) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i + 1][j + 1].isClicked==true)))
// return ;
if((i - 1 >= 0) &&(j - 1 >= 0)&&(i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(j + 1 <= ((int)Math.sqrt(BlockNum)-1))){if((bombButton[i - 1][j - 1].isClicked==true)&&(bombButton[i - 1][j].isClicked==true)&&(bombButton[i - 1][j + 1].isClicked==true)&&(bombButton[i][j - 1].isClicked==true)&&(bombButton[i][j].isClicked==true)&&(bombButton[i][j + 1].isClicked==true)&&(bombButton[i + 1][j - 1].isClicked==true)&&(bombButton[i + 1][j].isClicked==true)&&(bombButton[i + 1][j + 1].isClicked==true)){return;}}
// if(i - 1 < 0){if((bombButton[i][j - 1].isClicked==true)&&(bombButton[i][j + 1].isClicked==true)&&(bombButton[i+1][j - 1].isClicked==true)&&(bombButton[i+1][j].isClicked==true)&&(bombButton[i+1][j + 1].isClicked==true)){return;}}
// if(i + 1 > ((int)Math.sqrt(BlockNum)-1)){if((bombButton[i][j + 1].isClicked==true)&&(bombButton[i-1][j + 1].isClicked==true)&&(bombButton[i-1][j].isClicked==true)&&(bombButton[i-1][j - 1].isClicked==true)&&(bombButton[i][j - 1].isClicked==true)){return;}}
// if(j - 1 < 0){if((bombButton[i][j + 1].isClicked==true)&&(bombButton[i-1][j + 1].isClicked==true)&&(bombButton[i-1][j].isClicked==true)&&(bombButton[i+1][j].isClicked==true)&&(bombButton[i+1][j + 1].isClicked==true)){return;}}
// if(j + 1 > ((int)Math.sqrt(BlockNum)-1)){if((bombButton[i-1][j - 1].isClicked==true)&&(bombButton[i][j - 1].isClicked==true)&&(bombButton[i+1][j - 1].isClicked==true)&&(bombButton[i+1][j].isClicked==true)&&(bombButton[i-1][j].isClicked==true)){return;}}
if((i - 1 < 0) && (j - 1 < 0)){
if((bombButton[i][j + 1].isClicked==true)&&(bombButton[i + 1][j + 1].isClicked==true)&&(bombButton[i + 1][j].isClicked==true)){return ;}
}
if((i - 1 < 0) && (j + 1 > ((int)Math.sqrt(BlockNum)-1))){
if((bombButton[i][j - 1].isClicked==true)&&(bombButton[i + 1][j - 1].isClicked==true)&&(bombButton[i + 1][j].isClicked==true)){return ;}
}
if((i + 1 > ((int)Math.sqrt(BlockNum)-1) && (j - 1 < 0))){
if((bombButton[i-1][j].isClicked==true)&&(bombButton[i - 1][j + 1].isClicked==true)&&(bombButton[i][j+1].isClicked==true)){return ;}
}
if((i + 1 > ((int)Math.sqrt(BlockNum)-1) && (j + 1 > ((int)Math.sqrt(BlockNum)-1)))){
if((bombButton[i][j - 1].isClicked==true)&&(bombButton[i - 1][j - 1].isClicked==true)&&(bombButton[i - 1][j].isClicked==true)){return ;}
}
if(i - 1 < 0&&j - 1 >=0&&(j + 1 <= ((int)Math.sqrt(BlockNum)-1))){if((bombButton[i][j - 1].isClicked==true)&&(bombButton[i][j + 1].isClicked==true)&&(bombButton[i+1][j - 1].isClicked==true)&&(bombButton[i+1][j].isClicked==true)&&(bombButton[i+1][j + 1].isClicked==true)){return;}}
if(i + 1 > ((int)Math.sqrt(BlockNum)-1)&&j - 1 >=0&&j + 1 <= ((int)Math.sqrt(BlockNum)-1)){if((bombButton[i][j + 1].isClicked==true)&&(bombButton[i-1][j + 1].isClicked==true)&&(bombButton[i-1][j].isClicked==true)&&(bombButton[i-1][j - 1].isClicked==true)&&(bombButton[i][j - 1].isClicked==true)){return;}}
if(j - 1 < 0&&(i - 1 >= 0)&&(i + 1 <= ((int)Math.sqrt(BlockNum)-1))){if((bombButton[i][j + 1].isClicked==true)&&(bombButton[i-1][j + 1].isClicked==true)&&(bombButton[i-1][j].isClicked==true)&&(bombButton[i+1][j].isClicked==true)&&(bombButton[i+1][j + 1].isClicked==true)){return;}}
if(j + 1 > ((int)Math.sqrt(BlockNum)-1)&&(i - 1 >= 0)&&(i + 1 <= ((int)Math.sqrt(BlockNum)-1))){if((bombButton[i-1][j - 1].isClicked==true)&&(bombButton[i][j - 1].isClicked==true)&&(bombButton[i+1][j - 1].isClicked==true)&&(bombButton[i+1][j].isClicked==true)&&(bombButton[i-1][j].isClicked==true)){return;}}
if ( (i - 1 >= 0) && (j - 1 >= 0)) { //检测左上方空格是否是空
if (bombButton[i - 1][j - 1].isBomb == false && bombButton[i - 1][j - 1].isClicked == false && bombButton[i - 1][j - 1].isRight == false) {
if(bombButton[i - 1][j - 1].BombRoundCount==0){bombButton[i - 1][j - 1].setText(" ");}
else{
bombButton[i - 1][j - 1].setText((bombButton[i - 1][j - 1].BombRoundCount)+"");
}
bombButton[i - 1][j - 1].setEnabled(false);
bombButton[i - 1][j - 1].isClicked=true;
}
}
if ( (i - 1 >= 0)) { //检测上方空格是否为空
if (bombButton[i - 1][ j ] .isBomb == false && bombButton[i - 1][ j ].isClicked == false && bombButton[i - 1][ j ].isRight == false) {
if(bombButton[i - 1][j].BombRoundCount==0){bombButton[i - 1][j].setText(" ");}
else{
bombButton[i - 1][j].setText((bombButton[i - 1][j].BombRoundCount)+"");
}
bombButton[i - 1][ j ].setEnabled(false);
bombButton[i - 1][ j ].isClicked=true;
}
}
if ( (i - 1 >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) { //检测右上方是否为空
if (bombButton[i - 1][j + 1] .isBomb == false && bombButton[i - 1][j + 1].isClicked == false && bombButton[i - 1][j + 1].isRight == false) {
if(bombButton[i - 1][j + 1].BombRoundCount==0){bombButton[i - 1][j + 1].setText(" ");}
else{
bombButton[i - 1][j + 1].setText((bombButton[i - 1][j + 1].BombRoundCount)+"");
}
bombButton[i - 1][j + 1].setEnabled(false);
bombButton[i - 1][j + 1].isClicked=true;
}
}
if ( (i >= 0) &&(j - 1 >= 0)) { //检测左边是否为空
if (bombButton[ i ][j - 1].isBomb == false && bombButton[ i ][j - 1].isClicked == false && bombButton[ i ][j - 1].isRight == false) {
if(bombButton[i][j - 1].BombRoundCount==0){bombButton[i][j - 1].setText(" ");}
else{
bombButton[i][j - 1].setText((bombButton[i][j - 1].BombRoundCount)+"");
}
bombButton[ i ][j - 1].setEnabled(false);
bombButton[ i ][j - 1].isClicked=true;
}
}
if ( (i >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) { //检测右边空格是否是空
if (bombButton[ i ][j + 1].isBomb == false && bombButton[ i ][j + 1].isClicked == false && bombButton[ i ][j + 1].isRight == false) {
if(bombButton[i][j + 1].BombRoundCount==0){bombButton[i][j + 1].setText(" ");}
else{
bombButton[i][j + 1].setText((bombButton[i][j + 1].BombRoundCount)+"");
}
bombButton[ i ][j + 1].setEnabled(false);
bombButton[ i ][j + 1].isClicked=true;
}
}
if ( (j - 1 >= 0) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) { //检测左下空格是否是空
if (bombButton[i + 1][j - 1].isBomb == false && bombButton[i + 1][j - 1].isClicked == false && bombButton[i + 1][j - 1].isRight == false) {
if(bombButton[i + 1][j - 1].BombRoundCount==0){bombButton[i + 1][j - 1].setText(" ");}
else{
bombButton[i + 1][j - 1].setText((bombButton[i + 1][j - 1].BombRoundCount)+"");
}
bombButton[i + 1][j - 1].setEnabled(false);
bombButton[i + 1][j - 1].isClicked=true;
}
}
if ( (i + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) { //检测下边空格是否是空
if (bombButton[i + 1][ j ].isBomb == false && bombButton[i + 1][ j ].isClicked == false && bombButton[i + 1][ j ].isRight == false) {
if(bombButton[i + 1][j].BombRoundCount==0){bombButton[i + 1][j].setText(" ");}
else{
bombButton[i + 1][j].setText((bombButton[i + 1][j].BombRoundCount)+"");
}
bombButton[i + 1][ j ].setEnabled(false);
bombButton[i + 1][ j ].isClicked=true;
}
}
if ( (j + 1 <= ((int)Math.sqrt(BlockNum)-1) ) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) { //检测右下边空格是否是空
if (bombButton[i + 1][j + 1].isBomb == false && bombButton[i + 1][j + 1].isClicked == false && bombButton[i + 1][j + 1].isRight == false) {
if(bombButton[i + 1][j + 1].BombRoundCount==0){bombButton[i + 1][j + 1].setText(" ");}
else{
bombButton[i + 1][j + 1].setText((bombButton[i + 1][j + 1].BombRoundCount)+"");
}
bombButton[i + 1][j + 1].setEnabled(false);
bombButton[i + 1][j + 1].isClicked=true;
}
}
if ( (i - 1 >= 0) && (j - 1 >= 0)&&(bombButton[i - 1][j - 1].BombRoundCount==0))//检测左上
isNull(bombButton,bombButton[i - 1][j - 1]);
if ( (i - 1 >= 0)&&(bombButton[i - 1][j].BombRoundCount==0))
isNull( bombButton,bombButton[i - 1][ j ]);//检测上方
if ( (i - 1 >= 0) && (j + 1 <= (int)Math.sqrt(BlockNum)-1)&&(bombButton[i - 1][j + 1].BombRoundCount==0))
isNull( bombButton,bombButton[i - 1][j + 1]);//检测右上
if ( (j - 1 >= 0)&&(bombButton[i][j - 1].BombRoundCount==0))
isNull(bombButton,bombButton[i][j - 1]);//检测左边
if ( (i >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i][j + 1].BombRoundCount==0) )
isNull(bombButton,bombButton[i][j + 1]);//检测右边
if ( (j - 1 >= 0) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i + 1][j - 1].BombRoundCount==0) )
isNull(bombButton,bombButton[i + 1][j - 1]); //检测左下
if ( (i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i+1][j].BombRoundCount==0) ) //检测下
isNull(bombButton,bombButton[i + 1][ j ]);
if ( (j + 1 <= ((int)Math.sqrt(BlockNum)-1)) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1))&&(bombButton[i + 1][j + 1].BombRoundCount==0) ) //检测右下
isNull(bombButton,bombButton[i + 1][j + 1]);
}
}
public void actionPerformed(ActionEvent e)
{
CountRoundBomb();
if(((Bomb)e.getSource()).isBomb==false && ((Bomb)e.getSource()).isClicked == false)
{
((Bomb)e.getSource()).setText(( ((Bomb)e.getSource()).BombRoundCount )+"");
((Bomb)e.getSource()).isClicked=true;
((Bomb)e.getSource()).setEnabled(false);
if((((Bomb)e.getSource()).BombRoundCount) == 0)
{
((Bomb)e.getSource()).setText(" ");
isNull(bombButton,(Bomb)e.getSource());
}
else
{
((Bomb)e.getSource()).setText(( ((Bomb)e.getSource()).BombRoundCount )+"");
}
isWin();
}
else if(((Bomb)e.getSource()).isBomb == true)
{
for(int i=0;i<(int)Math.sqrt(BlockNum);i++)
for(int j=0;j<(int)Math.sqrt(BlockNum);j++)
{
if(bombButton[ i ][ j ].isBomb == true){
bombButton[ i ][ j ].setText("$");
bombButton[ i ][ j ].setEnabled(false);
}
}
((Bomb)e.getSource()).setText("$$");
((Bomb)e.getSource()).setEnabled(false);
JOptionPane msg = new JOptionPane();
JOptionPane.showMessageDialog(this,"你踩到地雷了,按确定重来","你踩到地雷了",JOptionPane.INFORMATION_MESSAGE);
replay();
}
}
public void mouseClicked(MouseEvent e)
{
// int bomb=BombNum;
Bomb bombSource = (Bomb)e.getSource();
boolean right = SwingUtilities.isRightMouseButton(e);
if((right == true) && (bombSource.isClicked == false))
{
bombSource.BombFlag = (bombSource.BombFlag + 1)%3;
if(bombSource.BombFlag == 1)
{
if(BombNum >= 0 && bombSource.isRight == false ){
bombSource.setText("#");
bombSource.setEnabled(false);
bombSource.isRight = true;
if ( bombSource.isBomb == true )
BombNum--;
Bomb2--;
}
isWin();
nowBomb.setText("当前剩下雷数"+" "+Bomb2+"");
}
else if(bombSource.BombFlag == 2)
{
if( (BombNum !=0 ) ||(BombNum ==0 &&(bombSource.getText()=="#")) )
Bomb2++;
if ( bombSource.isBomb == true )
BombNum++;
bombSource.setText("?");
bombSource.setEnabled(true);
nowBomb.setText("当前剩下雷数"+" "+Bomb2+"");
}
else if(bombSource.BombFlag == 0)
{
bombSource.setText(" ");
bombSource.isRight = false;
}
}
}
public void mouseEntered(MouseEvent e)
{}
public void mouseReleased(MouseEvent e)
{}
public void mouseExited(MouseEvent e)
{}
public void mousePressed(MouseEvent e)
{}
}
public class miner21
{
public static void main(String args[])
{
MainBomb application = new MainBomb();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -