📄 mainframe.java
字号:
{
theTimeThread.join();
}
catch(InterruptedException ex)
{
JOptionPane.showMessageDialog(null,"InterruptedException occurred here: "+ex);
}
for(int iflag = 0;iflag < sumOfButton ; iflag++)
for(int jflag = 0; jflag < sumOfButton ; jflag++)
{
if(mineButton[iflag][jflag].getEnable())
{
if((mineButton[iflag][jflag].getFlag())&&(mineButton[iflag][jflag].getNumOfClick()%3!=1))
{
jPanel1.remove(mineButton[iflag][jflag]);
jLabelTest[iflag][jflag].setIcon(imageMineNotFound);
jPanel1.add(jLabelTest[iflag][jflag],null);
}
if((!mineButton[iflag][jflag].getFlag())&&(mineButton[iflag][jflag].getNumOfClick()%3==1))
{
jPanel1.remove(mineButton[iflag][jflag]);
jLabelTest[iflag][jflag].setIcon(imageErrMine);
jPanel1.add(jLabelTest[iflag][jflag],null);
}
mineButton[iflag][jflag].setEnable(false);
}
}
this.repaint();
JOptionPane.setDefaultLocale(Locale.CHINESE);
JOptionPane.showMessageDialog(null,"You Lose!!!");
}
// JOptionPane.showMessageDialog(null,""+sumOfNotMine);
}
void twoButtonPressed(int i,int j)
{
if((i > 0)&&(mineButton[i-1][j].getEnable())&&(mineButton[i-1][j].getNumOfClick()%3!=1))
mineButton[i-1][j].setVisible(false);
if((i > 0)&&(j > 0)&&(mineButton[i-1][j-1].getEnable())&&(mineButton[i-1][j-1].getNumOfClick()%3!=1))
mineButton[i-1][j-1].setVisible(false);
if((i > 0)&&(j < sumOfButton-1)&&(mineButton[i-1][j+1].getEnable())&&(mineButton[i-1][j+1].getNumOfClick()%3!=1))
mineButton[i-1][j+1].setVisible(false);
//
if((j > 0)&&(mineButton[i][j-1].getEnable())&&(mineButton[i][j-1].getNumOfClick()%3!=1))
mineButton[i][j-1].setVisible(false);
if((j < sumOfButton-1)&&(mineButton[i][j+1].getEnable())&&(mineButton[i][j+1].getNumOfClick()%3!=1))
mineButton[i][j+1].setVisible(false);
//
if((i < sumOfButton-1)&&(mineButton[i+1][j].getEnable())&&(mineButton[i+1][j].getNumOfClick()%3!=1))
mineButton[i+1][j].setVisible(false);
if((i < sumOfButton-1)&&(j > 0)&&(mineButton[i+1][j-1].getEnable())&&(mineButton[i+1][j-1].getNumOfClick()%3!=1))
mineButton[i+1][j-1].setVisible(false);
if((i < sumOfButton-1)&&(j < sumOfButton-1)&&(mineButton[i+1][j+1].getEnable())&&(mineButton[i+1][j+1].getNumOfClick()%3!=1))
mineButton[i+1][j+1].setVisible(false);
}
void twoButtonReleased(int i,int j)
{
if((i > 0)&&(mineButton[i-1][j].getEnable())&&(mineButton[i-1][j].getNumOfClick()%3!=1))
mineButton[i-1][j].setVisible(true);
if((i > 0)&&(j > 0)&&(mineButton[i-1][j-1].getEnable())&&(mineButton[i-1][j-1].getNumOfClick()%3!=1))
mineButton[i-1][j-1].setVisible(true);
if((i > 0)&&(j < sumOfButton-1)&&(mineButton[i-1][j+1].getEnable())&&(mineButton[i-1][j+1].getNumOfClick()%3!=1))
mineButton[i-1][j+1].setVisible(true);
//
if((j > 0)&&(mineButton[i][j-1].getEnable())&&(mineButton[i][j-1].getNumOfClick()%3!=1))
mineButton[i][j-1].setVisible(true);
if((j < sumOfButton-1)&&(mineButton[i][j+1].getEnable())&&(mineButton[i][j+1].getNumOfClick()%3!=1))
mineButton[i][j+1].setVisible(true);
//
if((i < sumOfButton-1)&&(mineButton[i+1][j].getEnable())&&(mineButton[i+1][j].getNumOfClick()%3!=1))
mineButton[i+1][j].setVisible(true);
if((i < sumOfButton-1)&&(j > 0)&&(mineButton[i+1][j-1].getEnable())&&(mineButton[i+1][j-1].getNumOfClick()%3!=1))
mineButton[i+1][j-1].setVisible(true);
if((i < sumOfButton-1)&&(j < sumOfButton-1)&&(mineButton[i+1][j+1].getEnable())&&(mineButton[i+1][j+1].getNumOfClick()%3!=1))
mineButton[i+1][j+1].setVisible(true);
}
void twoButtonReleasedOnLabel(int i,int j)
{
if((i > 0)&&(mineButton[i-1][j].getEnable())&&(mineButton[i-1][j].getNumOfClick()%3!=1))
mineButton[i-1][j].setVisible(true);
if((i > 0)&&(j > 0)&&(mineButton[i-1][j-1].getEnable())&&(mineButton[i-1][j-1].getNumOfClick()%3!=1))
mineButton[i-1][j-1].setVisible(true);
if((i > 0)&&(j < sumOfButton-1)&&(mineButton[i-1][j+1].getEnable())&&(mineButton[i-1][j+1].getNumOfClick()%3!=1))
mineButton[i-1][j+1].setVisible(true);
//
if((j > 0)&&(mineButton[i][j-1].getEnable())&&(mineButton[i][j-1].getNumOfClick()%3!=1))
mineButton[i][j-1].setVisible(true);
if((j < sumOfButton-1)&&(mineButton[i][j+1].getEnable())&&(mineButton[i][j+1].getNumOfClick()%3!=1))
mineButton[i][j+1].setVisible(true);
//
if((i < sumOfButton-1)&&(mineButton[i+1][j].getEnable())&&(mineButton[i+1][j].getNumOfClick()%3!=1))
mineButton[i+1][j].setVisible(true);
if((i < sumOfButton-1)&&(j > 0)&&(mineButton[i+1][j-1].getEnable())&&(mineButton[i+1][j-1].getNumOfClick()%3!=1))
mineButton[i+1][j-1].setVisible(true);
if((i < sumOfButton-1)&&(j < sumOfButton-1)&&(mineButton[i+1][j+1].getEnable())&&(mineButton[i+1][j+1].getNumOfClick()%3!=1))
mineButton[i+1][j+1].setVisible(true);
/////////////////////////////////////////////////////////////////////////////////////////////////
int numOfFindMine = 0;
if((i > 0)&&(mineButton[i-1][j].getEnable())&&(mineButton[i-1][j].getNumOfClick()%3==1))
numOfFindMine++;
if((i > 0)&&(j > 0)&&(mineButton[i-1][j-1].getEnable())&&(mineButton[i-1][j-1].getNumOfClick()%3==1))
numOfFindMine++;
if((i > 0)&&(j < sumOfButton-1)&&(mineButton[i-1][j+1].getEnable())&&(mineButton[i-1][j+1].getNumOfClick()%3==1))
numOfFindMine++;
//
if((j > 0)&&(mineButton[i][j-1].getEnable())&&(mineButton[i][j-1].getNumOfClick()%3==1))
numOfFindMine++;
if((j < sumOfButton-1)&&(mineButton[i][j+1].getEnable())&&(mineButton[i][j+1].getNumOfClick()%3==1))
numOfFindMine++;
//
if((i < sumOfButton-1)&&(mineButton[i+1][j].getEnable())&&(mineButton[i+1][j].getNumOfClick()%3==1))
numOfFindMine++;
if((i < sumOfButton-1)&&(j > 0)&&(mineButton[i+1][j-1].getEnable())&&(mineButton[i+1][j-1].getNumOfClick()%3==1))
numOfFindMine++;
if((i < sumOfButton-1)&&(j < sumOfButton-1)&&(mineButton[i+1][j+1].getEnable())&&(mineButton[i+1][j+1].getNumOfClick()%3==1))
numOfFindMine++;
if(numOfFindMine == mineButton[i][j].getNumofMine())
{
if((i > 0)&&(mineButton[i-1][j].getEnable())&&(mineButton[i-1][j].getNumOfClick()%3!=1))
clickButton(i-1,j);
if((i > 0)&&(j > 0)&&(mineButton[i-1][j-1].getEnable())&&(mineButton[i-1][j-1].getNumOfClick()%3!=1))
clickButton(i-1,j-1);
if((i > 0)&&(j < sumOfButton-1)&&(mineButton[i-1][j+1].getEnable())&&(mineButton[i-1][j+1].getNumOfClick()%3!=1))
clickButton(i-1,j+1);
//
if((j > 0)&&(mineButton[i][j-1].getEnable())&&(mineButton[i][j-1].getNumOfClick()%3!=1))
clickButton(i,j-1);
if((j < sumOfButton-1)&&(mineButton[i][j+1].getEnable())&&(mineButton[i][j+1].getNumOfClick()%3!=1))
clickButton(i,j+1);
//
if((i < sumOfButton-1)&&(mineButton[i+1][j].getEnable())&&(mineButton[i+1][j].getNumOfClick()%3!=1))
clickButton(i+1,j);
if((i < sumOfButton-1)&&(j > 0)&&(mineButton[i+1][j-1].getEnable())&&(mineButton[i+1][j-1].getNumOfClick()%3!=1))
clickButton(i+1,j-1);
if((i < sumOfButton-1)&&(j < sumOfButton-1)&&(mineButton[i+1][j+1].getEnable())&&(mineButton[i+1][j+1].getNumOfClick()%3!=1))
clickButton(i+1,j+1);
this.repaint();
}
else
{
if((i > 0)&&(mineButton[i-1][j].getEnable())&&(mineButton[i-1][j].getNumOfClick()%3!=1))
mineButton[i-1][j].setVisible(true);
if((i > 0)&&(j > 0)&&(mineButton[i-1][j-1].getEnable())&&(mineButton[i-1][j-1].getNumOfClick()%3!=1))
mineButton[i-1][j-1].setVisible(true);
if((i > 0)&&(j < sumOfButton-1)&&(mineButton[i-1][j+1].getEnable())&&(mineButton[i-1][j+1].getNumOfClick()%3!=1))
mineButton[i-1][j+1].setVisible(true);
//
if((j > 0)&&(mineButton[i][j-1].getEnable())&&(mineButton[i][j-1].getNumOfClick()%3!=1))
mineButton[i][j-1].setVisible(true);
if((j < sumOfButton-1)&&(mineButton[i][j+1].getEnable())&&(mineButton[i][j+1].getNumOfClick()%3!=1))
mineButton[i][j+1].setVisible(true);
//
if((i < sumOfButton-1)&&(mineButton[i+1][j].getEnable())&&(mineButton[i+1][j].getNumOfClick()%3!=1))
mineButton[i+1][j].setVisible(true);
if((i < sumOfButton-1)&&(j > 0)&&(mineButton[i+1][j-1].getEnable())&&(mineButton[i+1][j-1].getNumOfClick()%3!=1))
mineButton[i+1][j-1].setVisible(true);
if((i < sumOfButton-1)&&(j < sumOfButton-1)&&(mineButton[i+1][j+1].getEnable())&&(mineButton[i+1][j+1].getNumOfClick()%3!=1))
mineButton[i+1][j+1].setVisible(true);
}
}
void clickRightButton(int i,int j)
{
if(!mineButton[i][j].getEnable())
return;
mineButton[i][j].rightButtonClick();
int temp = mineButton[i][j].getNumOfClick();
switch(temp%3)
{
case 1: mineButton[i][j].setIcon(imageMine);
sumOfMine--;
if(sumOfMine > 0)
{
if(sumOfMine < 10)
jLabelMineNum.setText("000"+sumOfMine);
else
jLabelMineNum.setText("00"+sumOfMine);
}
else
jLabelMineNum.setText(""+sumOfMine);
break;
case 2: mineButton[i][j].setIcon(imageNotSure);
sumOfMine++;
if(sumOfMine > 0)
{
if(sumOfMine < 10)
jLabelMineNum.setText("000"+sumOfMine);
else
jLabelMineNum.setText("00"+sumOfMine);
}
else
jLabelMineNum.setText(""+sumOfMine);
break;
case 0: mineButton[i][j].setIcon(null);
break;
}
}
void onButtonOpen(ActionEvent e)
{
onNew(e);
}
void onMiddle(ActionEvent e)
{
try
{
accessFile.seek(0);
accessFile.readLine();
accessFile.writeBytes("middle");
this.level = "middle";
this.sumOfButton = 15;
this.sumOfMine = 40;
this.sumOfNotMine = 185;
onNew(e);
}
catch(Exception ex)
{}
}
void onHigh(ActionEvent e)
{
try
{
accessFile.seek(0);
accessFile.readLine();
accessFile.writeBytes("high ");
this.level = "high";
this.sumOfButton = 20;
this.sumOfMine = 99;
this.sumOfNotMine = 301;
onNew(e);
}
catch(Exception ex)
{}
}
void onPrimer(ActionEvent e)
{
try
{
accessFile.seek(0);
accessFile.readLine();
accessFile.writeBytes("primer");
this.level = "primer";
this.sumOfButton = 10;
this.sumOfMine = 10;
this.sumOfNotMine = 90;
onNew(e);
}
catch(Exception ex)
{}
}
void onList(ActionEvent e)
{
ListFrame theListFrame = new ListFrame(this.accessFile);
String name;
String numOfTime;
try
{
accessFile.seek(0);
accessFile.readLine();
accessFile.readLine();
accessFile.readLine();
name = accessFile.readLine();
name = name.trim();
numOfTime = accessFile.readLine();
theListFrame.jLabelPrimer.setText("初级 "+ numOfTime + "秒 " +name );
accessFile.readLine();
name = accessFile.readLine();
name = name.trim();
numOfTime = accessFile.readLine();
theListFrame.jLabelMiddle.setText("中级 "+ numOfTime + "秒 " +name );
accessFile.readLine();
name = accessFile.readLine();
name = name.trim();
numOfTime = accessFile.readLine();
theListFrame.jLabelHigh.setText("高级 "+ numOfTime + "秒 " +name);
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,"Exception occurred here: " + e);
}
Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension framesize = theListFrame.getSize();
if(framesize.height > screensize.height)
framesize.height = screensize.height;
if(framesize.width > screensize.width)
framesize.width = screensize.width;
theListFrame.setLocation((screensize.width - framesize.width)/2,(screensize.height - framesize.height)/2);
theListFrame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -