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

📄 mineframe.java

📁 用JAVA开发的扫雷小游戏,已经运行通过。
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
public class MineFrame extends Frame implements ActionListener
{  Button reStart;
   Block block[][];
   BlockView blockView[][];
   LayMines lay;
   int row=10,colum=12,mineCount=22;
   int colorSwitch=0;
   Panel pCenter,pNorth;
   public MineFrame()
   {   reStart=new Button("重新开始");
       pCenter=new Panel();
       pNorth=new Panel();
       pNorth.setBackground(Color.cyan);
       block=new Block[row][colum];
       for(int i=0;i<row;i++)
       {  for(int j=0;j<colum;j++)
            {  block[i][j]=new Block();
            }
       }
       lay=new LayMines();
       lay.layMinesForBlock(block,mineCount);    
       blockView=new BlockView[row][colum];
       pCenter.setLayout(new GridLayout(row,colum));
       for(int i=0;i<row;i++)
       { for(int j=0;j<colum;j++)
            {  blockView[i][j]=new BlockView(); 
               blockView[i][j].setName(block[i][j].getName());
               pCenter.add(blockView[i][j]);
               blockView[i][j].getBlockCover().addActionListener(this);
            }
       }
      reStart.addActionListener(this);
      pNorth.add(reStart);
      add(pNorth,BorderLayout.NORTH);
      add(pCenter,BorderLayout.CENTER);
      setSize(200,232);
      setVisible(true);
      addWindowListener(new WindowAdapter()
            {  public void windowClosing(WindowEvent e)
               {  System.exit(0);
               } 
            });
      validate();
   }
  public void actionPerformed(ActionEvent e)
   {  Button source=(Button)e.getSource();
      if(source!=reStart)   
      { int m=-1,n=-1; 
        for(int i=0;i<row;i++)
        { for(int j=0;j<colum;j++)
          { if(source==blockView[i][j].getBlockCover())
              { m=i;
                n=j;
                break;
              }
          }
        }
       if(block[m][n].isMine())
        {  for(int i=0;i<row;i++)
          {  for(int j=0;j<colum;j++)
             {  blockView[i][j].getBlockCover().removeActionListener(this);
                if(block[i][j].isMine())
                  blockView[i][j].seeBlockName(); 
             }
          }
        }
       else
        {  if(block[m][n].getNumber()>0)
             blockView[m][n].seeBlockName();
           else if(block[m][n].getNumber()==0)
           for(int k=Math.max(m-1,0);k<=Math.min(m+1,row-1);k++)
            { for(int t=Math.max(n-1,0);t<=Math.min(n+1,colum-1);t++)
               {  blockView[k][t].seeBlockName(); 
               }      
            }
        }
      }
      if(source==reStart)
      {  for(int i=0;i<row;i++)
         { for(int j=0;j<colum;j++)
            {  block[i][j].setIsMine(false);
            }
         }
         lay.layMinesForBlock(block,mineCount); 
         for(int i=0;i<row;i++)
         { for(int j=0;j<colum;j++)   
            {  blockView[i][j].setName(block[i][j].getName());
               blockView[i][j].seeBlockCover();
               blockView[i][j].getBlockCover().addActionListener(this);
            }
         }
      }
   }
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -