⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 java写的模仿windows上的挖雷的游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      {
        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 + -