




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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("初級(jí)");JMenuItem mi2 = new JMenuItem("中級(jí)");JMenuItem mi3 =new JMenuItem("高級(jí)");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"初級(jí)","中級(jí)","高級(jí)" );/加監(jiān)聽/*combo.addItemListener(new ItemListener();*/ p1=new JPanel();/在那個(gè)位置/( 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()="初級(jí)")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()="中級(jí)")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()="高級(jí)")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);/清空f(shuō)or(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;/產(chǎn)生隨機(jī)數(shù)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東育嬰師試題及答案
- 企業(yè)管理規(guī)定試題及答案
- 2024年紡織設(shè)計(jì)師行業(yè)調(diào)查試題及答案
- 廣告設(shè)計(jì)師考試色彩心理研究試題及答案
- 廣告設(shè)計(jì)與內(nèi)容營(yíng)銷試題及答案
- 2024年與設(shè)計(jì)相關(guān)的行業(yè)動(dòng)態(tài)國(guó)際商業(yè)美術(shù)設(shè)計(jì)師考試試題及答案
- 買豆?jié){的孩子試題及答案
- 2024年廣告設(shè)計(jì)師的復(fù)習(xí)新方法試題及答案
- 廣告設(shè)計(jì)中的轉(zhuǎn)化率提升策略試題及答案
- 科學(xué)編制考試試題及答案
- 廣東省江門市2025屆高三下學(xué)期一模化學(xué)試題(原卷版+解析版)
- 2025年上半年廣州市海珠區(qū)海幢街道招考康園工療站工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年春季學(xué)期形勢(shì)與政策第二講-中國(guó)經(jīng)濟(jì)行穩(wěn)致遠(yuǎn)講稿
- 人教PEP版英語(yǔ)五年級(jí)下冊(cè)Recycle 1單元教學(xué)設(shè)計(jì)(2課時(shí)教案)
- 中國(guó)產(chǎn)教融合行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)與投資分析研究報(bào)告(2024-2030版)
- 2025年山西焦煤集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)全套試卷附完整答案
- 踝關(guān)節(jié)骨折的護(hù)理查房課件
- 第六屆“四川工匠杯”職業(yè)技能大賽(健康照護(hù)賽項(xiàng))理論參考試題庫(kù)(含答案)
- 2024-2030年中國(guó)生姜及深加工市場(chǎng)發(fā)展動(dòng)態(tài)及前景規(guī)劃研究報(bào)告
- 消防中控室操作人員培訓(xùn)
評(píng)論
0/150
提交評(píng)論