• 大小: 16.75 KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2024-08-29
  • 语言: Java
  • 标签: Java  

资源简介

用Java编写的扫雷游戏源代码用Java编写的扫雷游戏源代码用Java编写的扫雷游戏源代码用Java编写的扫雷游戏源代码

资源截图

代码片段和文件信息

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*;

/*按扭类*/

class Bomb extends JButton  

 
 public int num_xnum_y;       //第几号方块 
 public int BombRoundCount;    //周围雷数 
 public boolean isBomb;        //是否为雷 
 public boolean isClicked;     //是否被点击 
 public int BombFlag;          //探雷标记
 public boolean isRight;       //是否点击右键
 
 public Bomb(int xint y) 
 { 
  BombFlag = 0; 
  num_x = x;
  num_y = y; 
  BombRoundCount = 0; 
  isBomb = false; 
  isClicked = false;
  isRight = false;
 }

/*窗口及算法实现类*/

class MainBomb extends Jframe implements ActionListenerMouseListener

 
 public JTextField text;
 public Label nowBombsetBomb;
 public int BlockNumBombNum;                                                //当前方块数当前雷数
 public Icon icon_bomb = new ImageIcon(“Bomb.gif“);                          //踩雷
 public Icon icon_bomb_big = new ImageIcon(“bomb_big.gif“);                  //踩雷标记
 public Icon icon_flag = new ImageIcon(“flag.gif“);                          //雷标记
 public Icon icon_question = new ImageIcon(“question.gif“);                  //疑惑是否有雷
 public JButton start = new JButton(“ 开始 “); 
 public Panel MenuPamel = new Panel(); 
 public Panel mainPanel = new Panel(); 
 public Bomb[][] bombButton;
 
 /*界面设计*/
 
 public MainBomb() 
 {
  super(“扫雷  王育明引用!2006.11.22 “);
  BlockNum = 64; 
  BombNum = 10; 
  Container c=getContentPane();
  c.setBackground(Color.gray); 
  c.setLayout(new BorderLayout()); 
  text=new JTextField(“10 “3);
  nowBomb = new Label(“当前雷数“+“  “+BombNum+““);
  setBomb= new Label(“设置地雷数“);
  start.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e) 
    {   
     BombNum = Integer.parseInt(text.getText().trim());
     if(BombNum >= 10 && BombNum < 50 )
      replay();
     else
     {
      JOptionPane msg = new JOptionPane(); 
      JOptionPane.showMessageDialog(null“您设置的地雷数太多了请重设!““错误“2); 
     }
     
    } 
   } );
  MenuPamel.add(setBomb);
  MenuPamel.add(text); 
  MenuPamel.add(start); 
  MenuPamel.add(nowBomb); 
  c.add(MenuPamel“North“); 
  
  mainPanel.setLayout(new GridLayout( (int)Math.sqrt(BlockNum)  (int)Math.sqrt(BlockNum)) );
  bombButton=new Bomb[ (int)Math.sqrt(BlockNum) ][];
  for(int i = 0 ; i < (int)Math.sqrt(BlockNum) ; i++)
  {
   bombButton[ i ]=new Bomb[ (int)Math.sqrt(BlockNum) ];
  }
  for(int i = 0 ; i < (int)Math.sqrt(BlockNum) ; i++ ) 
   for(int j = 0 ; j < (int)Math.sqrt(BlockNum) ; j++ )
   { 
    bombButton[ i ][ j ]=new Bomb(ij);
    bombButton[ i ][ j ].setForeground( Color.gray); 
    bombButton[ i ][ j ].addActionListener(this); 
    bombButton[ i ][ j ].addMouseListener(this); 
   } 
  for(int i = 0 ; i < (int)Math.sqrt(BlockNum) ; i++ ) 
   for(int j = 0 ; j < (int)Math.sqrt(BlockNum) ; j++ )
    mainPanel.add(bombButton[ i ][ j ]); 
  c.add(mainPanel“Center“);
  startBomb();
  setSize(400400);
  setLocation(350200);
  setResizab

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        988  2006-11-25 21:02  扫雷游戏\MainBomb$1.class

     文件        303  2006-11-25 21:02  扫雷游戏\Main.class

     文件       7672  2006-11-25 21:02  扫雷游戏\MainBomb.class

     文件        469  2006-11-25 21:02  扫雷游戏\Bomb.class

     文件      12801  2006-11-22 22:32  扫雷游戏\Main.java

     文件         50  2006-11-25 21:10  扫雷游戏\compile.bat

     文件          9  2006-11-25 21:12  扫雷游戏\Main.bat

     文件        766  2006-11-25 21:15  扫雷游戏\扫雷.ico

     文件      55808  2006-12-27 21:30  扫雷游戏\扫雷报告.dps

     目录          0  2006-12-26 17:53  扫雷游戏

----------- ---------  ---------- -----  ----

                78866                    10


评论

共有 条评论