




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、扫雷游戏Java源代码import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButt
2、on;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.Timer;public class ScanLei1 extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;pr
3、ivate Container contentPane;private JButton btn;private JButton btns;private JLabel b1;private JLabel b2;private JLabel b3;private Timer timer;private int row=9;private int col=9;private int bon=10;private int a;private int b;private int a1;private JPanel p,p1,p2,p3;public ScanLei1(String title)supe
4、r(title);contentPane=getContentPane();setSize(297,377);this.setBounds(400, 100, 400, 500);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);timer =new Timer(1000,(ActionListener) this);a = new introw+2col+2;initGUI();public void initGUI() p3=new JPanel();b=bon;JMenuBar menuBar=new JMenuBar();JMenu menu
5、1=new JMenu("游戏");JMenu menu2=new JMenu("帮助");JMenuItem mi1=new JMenuItem("初级");JMenuItem mi2 = new JMenuItem("中级");JMenuItem mi3 =new JMenuItem("高级");mi1.addActionListener(this);menu1.add(mi1);mi2.addActionListener(this);menu1.add(mi2);mi3.addAction
6、Listener(this);menu1.add(mi3);menuBar.add(menu1);menuBar.add(menu2);p3.add(menuBar);b1=new JLabel(bon+"");a1=new intbon;btn =new JButton("开始");btn.addActionListener(this);b2=new JLabel("0");b3=new JLabel("");btns=new JButtonrow*col; p=new JPanel();p.setLayout(
7、new BorderLayout();contentPane.add(p);p.add(p3,BorderLayout.NORTH);/combo=new JComboBox(new Object"初级","中级","高级" );/加监听/*combo.addItemListener(new ItemListener();*/ p1=new JPanel();/在那个位置/( FlowLayout)p1.getLayout().setAlignment( FlowLayout.RIGHT);p1.add(b1);p1.add(btn)
8、;p1.add(b2);p1.add(b3);p.add(p3,BorderLayout.NORTH);p.add(p1,BorderLayout.CENTER); p2=new JPanel();p2.setLayout(new GridLayout(row,col,0,0);for(int i=0;i<row*col;i+)btnsi=new JButton("");btnsi.setMargin(new Insets(0,0,0,0);btnsi.setFont(new Font(null,Font.BOLD,25);btnsi.addActionListene
9、r(this);btnsi.addMouseListener(new NormoreMouseEvent();p2.add(btnsi);contentPane.add(p,BorderLayout.NORTH);contentPane.add(p2,BorderLayout.CENTER);public void go()setVisible(true);public static void main(String args)new ScanLei1("扫雷").go();public void out(int a,JButton btns,ActionEvent e,i
10、nt i,int x,int y) int p=1; if(axy=0) axy=10; btnsi.setEnabled(false);/33 for(int l=y-1;l<=y+1;l+) int m=x-1-1; int n=l-1; p=1; System.out.println(a12); if(n>-1&&n<col&&m>-1&&m<row) for(int q=0;q<row&&p=1;q+)/col->row; if(n+col*q)>=(m*col)&&
11、amp;(n+col*q)<(m+1)*col) if(ax-1l!=0&&ax-1l!=10) btnsn+col*q.setText(ax-1l+""); ax-1l=10; btnsn+col*q.setEnabled(false); else if(ax-1l=0) /ax-1l=10; btnsn+col*q.setEnabled(false); out(a,btns,e,n+col*q,x-1,l); /55/ ax-1l=10; btnsn+col*q.setEnabled(false); p=0; p=1; m=x; if(n>-
12、1&&n<col&&m>-1&&m<col) for(int q=0;q<row&&p=1;q+) if(n+col*q)>=(m*col)&&(n+col*q)<(m+1)*col) if(ax+1l!=0&&ax+1l!=10) btnsn+col*q.setText(ax+1l+""); ax+1l=10; btnsn+col*q.setEnabled(false); else if(ax+1l=0) out(a,btns,e,n+col
13、*q,x+1,l);/55/ ax+1l=10; btnsn+col*q.setEnabled(false); p=0; int m=x-1; int n=y-1-1; p=1; if(n>-1&&n<col&&m>-1&&m<col) for(int q=0;q<row&&p=1;q+) if(n+col*q)>=(m*col)&&(n+col*q)<(m+1)*col) if(axy-1!=0&&axy-1!=10) btnsn+col*q.setTex
14、t(axy-1+""); axy-1=10; btnsn+col*q.setEnabled(false); else if(axy-1=0) out(a,btns,e,n+col*q,x,y-1); axy-1=10; btnsn+col*q.setEnabled(false); p=0; p=1; m=x-1; n=y+1-1; if(n>-1&&n<col&&m>-1&&m<col) for(int q=0;q<row&&p=1;q+) if(n+col*q)>=(m*c
15、ol)&&(n+col*q)<(m+1)*col) if(axy+1!=0&&axy+1!=10) btnsn+col*q.setText(axy+1+""); axy+1=10; btnsn+col*q.setEnabled(false); else if(axy+1=0) out(a,btns,e,n+col*q,x,y+1); axy+1=10; btnsn+col*q.setEnabled(false); p=0; public void actionPerformed(ActionEvent e) if(e.getAction
16、Command()="初级")row=9;col=9;bon=10;a1=new intbon;b=bon;/setSize(297,377);a = new introw+2col+2;this.remove(p2);timer.stop();b1.setText("10");b2.setText("0");b3.setText("");btns=new JButtonrow*col; p2=new JPanel();p2.setLayout(new GridLayout(row,col,0,0);for(int
17、 i=0;i<row*col;i+)btnsi=new JButton(" ");btnsi.setMargin(new Insets(0,0,0,0);btnsi.setFont(new Font(null,Font.BOLD,25);btnsi.addActionListener(this);btnsi.addMouseListener(new NormoreMouseEvent();p2.add(btnsi);contentPane.add(p2,BorderLayout.CENTER);/setSize(297,377);this.pack();for(int
18、 i=0;i<row*col;i+)btnsi.setText(" ");btnsi.setEnabled(true);for(int i=0;i<row+2;i+)for(int j=0;j<col+2;j+)aij=0;else if(e.getActionCommand()="中级")row=16;col=16;bon=40;/setSize(33*col,33*row+80);a1=new intbon;a = new introw+2col+2; b=bon;this.remove(p2);timer.stop();b1.se
19、tText("40");b2.setText("0");b3.setText("");btns=new JButtonrow*col; p2=new JPanel();p2.setLayout(new GridLayout(row,col,0,0);for(int i=0;i<row*col;i+)btnsi=new JButton(" ");btnsi.setMargin(new Insets(0,0,0,0);btnsi.setFont(new Font(null,Font.BOLD,25);btnsi.
20、addActionListener(this);btnsi.addMouseListener(new NormoreMouseEvent();p2.add(btnsi);contentPane.add(p2,BorderLayout.CENTER);this.pack();/setSize(33*col,33*row+80);for(int i=0;i<row*col;i+)btnsi.setText("");btnsi.setEnabled(true);for(int i=0;i<row+2;i+)for(int j=0;j<col+2;j+)aij=0
21、;else if(e.getActionCommand()="高级")row=16;col=32;bon=99;setSize(33*col,33*row+80);a1=new intbon;a = new introw+2col+2;b=bon;this.remove(p2);timer.stop();b1.setText("99");b2.setText("0");b3.setText("");btns=new JButtonrow*col; p2=new JPanel();p2.setLayout(new G
22、ridLayout(row,col,0,0);for(int i=0;i<row*col;i+)btnsi=new JButton(" ");btnsi.setMargin(new Insets(0,0,0,0);btnsi.setFont(new Font(null,Font.BOLD,25);btnsi.addActionListener(this);btnsi.addMouseListener(new NormoreMouseEvent();p2.add(btnsi);contentPane.add(p2,BorderLayout.CENTER);/setSiz
23、e(33*col,33*row+80);this.pack();for(int i=0;i<row*col;i+)btnsi.setText("");btnsi.setEnabled(true);for(int i=0;i<row+2;i+)for(int j=0;j<col+2;j+)aij=0;if(e.getSource()=btn)timer.start();b=bon;b3.setText("");/System.out.println(bon);/清空for(int i=0;i<row*col;i+)btnsi.set
24、Text("");btnsi.setEnabled(true);for(int i=0;i<row+2;i+)for(int j=0;j<col+2;j+)aij=0;/产生随机数for(int i=0;i<bon;i+) int p=1;int m=(int)(Math.random()*row*col);while(p=1) int l=1; int j;for( j=0;j<i&&l=1;j+) if(a1j=m) m=(int)(Math.random()*row*col); l=0; if(j=i)a1i=m;p=0;b1.
25、setText(bon+"");b2.setText("0");/布雷 for(int i=0;i<bon;i+) int x=(a1i/col+1); int y=(a1i%col+1);axy=100; for(int i=0;i<row+2;i+) for(int j=0;j<col+2;j+) if(i=0|j=0|i=row+1|j=col+1) aij=0; for(int i=1;i<=row;i+) for(int j=1;j<=col;j+) if(aij!=100) for(int l=j-1;l<
26、=j+1;l+) if(ai-1l=100) aij+; if(ai+1l=100) aij+; if(aij-1=100) aij+; if(aij+1=100) aij+; if(e.getSource()=timer) String time=b2.getText().trim();int t=Integer.parseInt(time);/System.out.println(t);if(t>=600)timer.stop();elset+;b2.setText(t+"");for(int i=0;i<col*row;i+) if(btnsi.getTe
27、xt()!="") int x=i/col+1; int y=i%col+1; if(e.getSource()=btnsi&&axy=100) btnsi.setText(""); btnsi.setEnabled(false); axy=10; for(int k=0;k<col*row;k+) int m1=k/col+1; int n1=k%col+1; if(am1n1!=10&&btnsk.getText()="") btnsk.setText("*o*"); for(int j=0;j<col*row;j+) int m=j/col+1; int n=j%col+1; if(amn=100) btnsj.setText(""); btnsj.setEnabled(false); b3.setText("你输了 !"); btnsj.setEnabled(false); amn=10; timer.stop(); else if(e.getSource()=btnsi) if(axy=0) out(a,btns,e,i,x,y); axy=10; btnsi.setEnabled(f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业员工安全培训考试试题【培优A卷】
- 2024-2025车间职工安全培训考试试题【各地真题】
- 2025年各个班组安全培训考试试题附答案解析
- 2025年企业负责人安全培训考试试题及完整答案【名校卷】
- 2024-2025新入职工入职安全培训考试试题附答案【达标题】
- 2025年全员安全培训考试试题及答案突破训练
- 2025安全管理员安全培训考试试题及答案打印
- 2025年新员工岗前安全培训考试试题(重点)
- 2025年车间职工安全培训考试试题审定版
- 2025新版车间安全培训考试试题附参考答案(B卷)
- 2022年中国建筑集团有限公司招聘笔试题库及答案解析
- 温泉度假设施造价预算
- 青少年创意编程试题
- 电子商务客户服务5套综合测试题带答案
- 微观经济学课件第二章(高鸿业)
- 医院科室6S管理制度
- RULES OF ORIGIN 原产地规则
- 国内旅游出团通知书(新版)
- LETTEROFINTENTION意向书范本
- 国内各航空公司差异化服务
- 《山东省自然科学基金资助项目年度进展报告》
评论
0/150
提交评论