📄 mainmine.java
字号:
MineButton[i - 1][j - 1].setEnabled(false);
MineButton[ i -1][ j-1 ].isEnabled=false;
MineButton[i - 1][j - 1].isClicked=true;
}
}
}
if ( (i - 1 >= 0)) //check the top corner
{
if (MineButton[i - 1][ j ] .isMine == false &&MineButton[i - 1][ j ].isClicked == false &&MineButton[i - 1][ j ].isRight == false)
{
if(MineButton[i - 1][ j ].MineRoundCount==0)
{
MineButton[i - 1][j].setText("");
MineButton[i - 1][ j ].setEnabled(false);
MineButton[ i -1][ j].isEnabled=false;
MineButton[i - 1][ j ].isClicked=true;
isNull(MineButton,MineButton[i - 1][j]);
}
else
{
MineButton[i - 1][ j ].setText((MineButton[i - 1][ j ].MineRoundCount)+"");
MineButton[i - 1][ j ].setEnabled(false);
MineButton[i -1][ j].isEnabled=false;
MineButton[i - 1][ j ].isClicked=true;}
}
}
if ( (i - 1 >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1)) )//check the top right corner
{
if (MineButton[i - 1][j + 1] .isMine == false &&MineButton[i - 1][j + 1].isClicked == false &&MineButton[i - 1][j + 1].isRight == false)
{
if(MineButton[i - 1][ j+1 ].MineRoundCount==0)
{
MineButton[i - 1][j+1].setText("");
MineButton[i - 1][j + 1].setEnabled(false);
MineButton[ i -1][ j+1 ].isEnabled=false;
MineButton[i - 1][j + 1].isClicked=true;
isNull(MineButton,MineButton[i - 1][j + 1]);
}
else
{
MineButton[i - 1][j + 1].setText((MineButton[i - 1][j + 1].MineRoundCount)+"");
MineButton[i - 1][j + 1].setEnabled(false);
MineButton[ i -1][ j+1 ].isEnabled=false;
MineButton[i - 1][j + 1].isClicked=true;
}
}
}
if ( (j - 1 >= 0))//check the left corner
{
if (MineButton[ i ][j - 1].isMine == false &&MineButton[ i ][j - 1].isClicked == false &&MineButton[ i ][j - 1].isRight == false)
{
if(MineButton[i][ j -1].MineRoundCount==0)
{
MineButton[i ][j-1].setText("");
MineButton[ i ][j - 1].setEnabled(false);
MineButton[ i][ j-1 ].isEnabled=false;
MineButton[ i ][j - 1].isClicked=true;
isNull(MineButton,MineButton[i ][j - 1]);
}
else
{
MineButton[ i ][j - 1].setText((MineButton[ i ][j - 1].MineRoundCount)+"");
MineButton[ i ][j - 1].setEnabled(false);
MineButton[ i][ j-1 ].isEnabled=false;
MineButton[ i ][j - 1].isClicked=true;
}
}
}
if ( (i >= 0) && (j + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) //check the right corner
{
if (MineButton[ i ][j + 1].isMine == false &&MineButton[ i ][j + 1].isClicked == false &&MineButton[ i ][j + 1].isRight == false)
{
if(MineButton[i][ j+1 ].MineRoundCount==0)
{
MineButton[i][j+1].setText("");
MineButton[ i ][j + 1].setEnabled(false);
MineButton[ i][ j+1 ].isEnabled=false;
MineButton[ i ][j + 1].isClicked=true;
isNull(MineButton,MineButton[i ][j + 1]);
}
else
{
MineButton[ i ][j + 1].setText((MineButton[ i ][j + 1].MineRoundCount)+"");
MineButton[ i ][j + 1].setEnabled(false);
MineButton[ i][ j+1 ].isEnabled=false;
MineButton[ i ][j + 1].isClicked=true;}
}
}
if ( (j - 1 >= 0) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1))) //check the down left corner
{
if (MineButton[i + 1][j - 1].isMine == false &&MineButton[i + 1][j - 1].isClicked == false &&MineButton[i + 1][j - 1].isRight == false)
{
if(MineButton[i+1][ j-1 ].MineRoundCount==0)
{
MineButton[i+1][j-1].setText("");
MineButton[i + 1][j - 1].setEnabled(false);
MineButton[ i +1][ j-1 ].isEnabled=false;
MineButton[i + 1][j - 1].isClicked=true;
isNull(MineButton,MineButton[i + 1][j - 1]);
}
else
{
MineButton[i + 1][j - 1].setText((MineButton[i + 1][j - 1].MineRoundCount)+"");
MineButton[i + 1][j - 1].setEnabled(false);
MineButton[ i +1][ j-1 ].isEnabled=false;
MineButton[i + 1][j - 1].isClicked=true;}
}
}
if ( (i + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) //check the down corner
{
if (MineButton[i + 1][ j ].isMine == false &&MineButton[i + 1][ j ].isClicked == false &&MineButton[i + 1][ j ].isRight == false)
{
if(MineButton[i+1][ j ].MineRoundCount==0)
{
MineButton[i+1][j].setText("");
MineButton[i + 1][ j ].setEnabled(false);
MineButton[i +1][ j ].isEnabled=false;
MineButton[i + 1][ j ].isClicked=true;
isNull(MineButton,MineButton[i + 1][j ]);
}
else
{
MineButton[i + 1][ j ].setText((MineButton[i + 1][ j ].MineRoundCount)+"");
MineButton[i + 1][ j ].setEnabled(false);
MineButton[i +1][ j ].isEnabled=false;
MineButton[i + 1][ j ].isClicked=true;
}
}
}
if ( (j + 1 <= ((int)Math.sqrt(BlockNum)-1) ) && (i + 1 <= ((int)Math.sqrt(BlockNum)-1)) ) //check the down right corner
{
if (MineButton[i + 1][j + 1].isMine == false &&MineButton[i + 1][j + 1].isClicked == false &&MineButton[i + 1][j + 1].isRight == false)
{
if(MineButton[i+1][ j+1 ].MineRoundCount==0)
{
MineButton[i+1][j+1].setText("");
MineButton[i + 1][j + 1].setEnabled(false);
MineButton[ i +1][ j+1 ].isEnabled=false;
MineButton[i + 1][j + 1].isClicked=true;
isNull(MineButton,MineButton[i + 1][j + 1]);
}
else
{
MineButton[i + 1][j + 1].setText((MineButton[i + 1][j + 1].MineRoundCount)+"");
MineButton[i + 1][j + 1].setEnabled(false);
MineButton[ i +1][ j+1 ].isEnabled=false;
MineButton[i + 1][j + 1].isClicked=true;
}
}
}
}
isWin();
}
/*override the actionPerformed function */
public void actionPerformed(ActionEvent e)
{
CountRoundMine();
if(((Mine)e.getSource()).getIcon()!=icon_flag)
{
if(((Mine)e.getSource()).isMine==false && ((Mine)e.getSource()).isClicked == false)
{
if(((Mine)e.getSource()).MineRoundCount==0)
{
((Mine)e.getSource()).setText("");
isNull(MineButton,(Mine)e.getSource());
((Mine)e.getSource()).isClicked=true;
((Mine)e.getSource()).setIcon(null);
((Mine)e.getSource()).setEnabled(false);
((Mine)e.getSource()).isEnabled=false;
}
else
{
((Mine)e.getSource()).setText(( ((Mine)e.getSource()).MineRoundCount )+"");
((Mine)e.getSource()).isClicked=true;
((Mine)e.getSource()).setIcon(null);
((Mine)e.getSource()).setEnabled(false);
((Mine)e.getSource()).isEnabled=false;
isWin();
}
}
else if(((Mine)e.getSource()).isMine == true)
{
for(int i=0;i<(int)Math.sqrt(BlockNum);i++)
for(int j=0;j<(int)Math.sqrt(BlockNum);j++)
{
if(MineButton[ i ][ j ].isMine == true)
MineButton[ i ][ j ].setIcon(icon_Mine);
}
((Mine)e.getSource()).setIcon(icon_Mine_big);
JOptionPane.showMessageDialog(this,"You steped on the Mine,click the button to replay !","It's a pity",2);
replay();
}
}
}
/*override the mouseClicked function */
public void mouseClicked(MouseEvent e)
{
Mine MineSource = (Mine)e.getSource();
boolean right = SwingUtilities.isRightMouseButton(e);
if((right == true) && (MineSource.isClicked == false))
{
MineSource.MineFlag = (MineSource.MineFlag + 1)%3;
if(MineSource.MineFlag == 1)
{
if(MineNum > 0 &&MineSource.isRight == false )
{
MineSource.setIcon(icon_flag);
MineSource.isRight = true;
MineNum--;
}
nowMine.setText("Mines remaining: "+" "+MineNum+"");
if(MineNum==0&&iswin==false)
{
JOptionPane.showMessageDialog(this,"You must to reset the icon_flag !","You are wrong",2);
}
isWin();
}
else if(MineSource.MineFlag == 2)
{
if( (MineNum !=0 ) ||(MineNum ==0 &&(MineSource.getIcon()==icon_flag)) )
MineNum++;
MineSource.setIcon(icon_question);
nowMine.setText("Mines remaining: "+" "+MineNum+"");
}
else if(MineSource.MineFlag == 0)
{
MineSource.setIcon(null);
MineSource.isRight = false;
}
}
}
public void mouseEntered(MouseEvent e)
{}
public void mouseReleased(MouseEvent e)
{}
public void mouseExited(MouseEvent e)
{}
public void mousePressed(MouseEvent e)
{}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -