![java 掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b1.gif)
![java 掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b2.gif)
![java 掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b3.gif)
![java 掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b4.gif)
![java 掃雷游戲課程設(shè)計(jì)與實(shí)現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b/bd40f3cb-9bdd-4c8c-9384-a74e64fed46b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)目錄前言11 . 設(shè)計(jì)目的32 . 設(shè)計(jì)內(nèi)容及要求32.1 掃雷游戲的基本要求33 需求分析43.1 掃雷棋盤的布局設(shè)計(jì)43.2 雷區(qū)的設(shè)計(jì)43.2.1成員變量53.2.2方法53.3 排行榜設(shè)計(jì)64 總體設(shè)計(jì)74.1 總體功能圖74.2 總體流程圖84.3雷區(qū)設(shè)計(jì)流程圖94.4 排行榜設(shè)計(jì)流程圖105 代碼實(shí)現(xiàn)115.1 類之間關(guān)系圖115.2 運(yùn)行效果圖125.3 程序打包發(fā)布過程156 總結(jié)16參考文獻(xiàn)167 主要源代碼17前言隨著大學(xué)的擴(kuò)招,在校大學(xué)生的人數(shù)也劇增。老師教學(xué)任務(wù)繁重,加上各種教學(xué)設(shè)計(jì)、評(píng)估,老師工作量繁重不說,卻往往事倍功半,教學(xué)質(zhì)量沒有明顯的提高。同時(shí),如何設(shè)
2、計(jì)考核的題目,使學(xué)生的知識(shí)得到總結(jié)、歸納和應(yīng)用,并且使零散的知識(shí)條理化和系統(tǒng)化,這也是老師們重點(diǎn)思考的方向,但如此一來,在繁重的教學(xué)任務(wù)之外,分散了老師們不少的精力。與傳統(tǒng)考試模式相比,在線考試具有無可比擬的優(yōu)越性,它可以將傳統(tǒng)考試過程中的試卷組織、審定印制、傳送收集、登記發(fā)放、評(píng)判歸檔各個(gè)環(huán)節(jié)縮小到一至兩個(gè)環(huán)節(jié),幾乎屏蔽了所有人工直接干預(yù)考試活動(dòng)的可能性,不但能夠節(jié)約大量的時(shí)日、人力、物力與財(cái)力,而且還可以大幅度增加考試成績(jī)的客觀性和公正性。所以本次課程設(shè)計(jì)充分利用現(xiàn)有的計(jì)算機(jī)軟、硬件和網(wǎng)絡(luò)資源實(shí)現(xiàn)無紙化考試以避免傳統(tǒng)手工考試的不足,力求一種高效率的考試系統(tǒng),來減輕教師負(fù)擔(dān),為學(xué)生提供更好的
3、學(xué)習(xí)平臺(tái),同時(shí)提高自己系統(tǒng)開發(fā)的能力。同時(shí)可以對(duì)試卷的難度系數(shù)、考試的時(shí)間、參考的對(duì)象等考試規(guī)則等進(jìn)行量化。操作簡(jiǎn)便快捷,解決了考試程序繁蕪,教師耗時(shí)費(fèi)力的問題。學(xué)生可以在線自測(cè),系統(tǒng)按照考試規(guī)則隨機(jī)出題;也可以參加統(tǒng)一考試,試題由系統(tǒng)按照老師制定的規(guī)則生成統(tǒng)一的一份試卷。同時(shí)教師可以針對(duì)某個(gè)考試,查看平均分、最高分、最低分、及格率、排名、答卷等信息。在系統(tǒng)性能方面,在高并發(fā)人數(shù)下,本系統(tǒng)將依然能提供一個(gè)穩(wěn)定運(yùn)營環(huán)境。總之本系統(tǒng)實(shí)現(xiàn)后將有如下的功能: (1) 可以創(chuàng)立電子題庫,方便地實(shí)現(xiàn)試題的數(shù)字化管理.(2) 可以按照科學(xué)的策略智能組卷,從而提高出卷效率. (3) 可以具有操作性和交互性.
4、(4) 使考試和評(píng)卷更具規(guī)范性和合理性. (5) 實(shí)現(xiàn)自動(dòng)評(píng)卷和數(shù)據(jù)的有效保存.1 . 設(shè)計(jì)目的通過選擇掃雷游戲軟件設(shè)計(jì),這個(gè)綜合性的題目作為本次的課程設(shè)計(jì)。可以讓我們更加熟悉Java程序設(shè)計(jì)這門課程,學(xué)會(huì)熟練使用Java這個(gè)軟件,加深對(duì)Java語言的掌握,提高編程水平。同時(shí)培養(yǎng)獨(dú)立思考和同學(xué)間團(tuán)結(jié)合作的能力,為畢業(yè)設(shè)計(jì)以及將來的工作打下堅(jiān)實(shí)的基礎(chǔ)。2 . 設(shè)計(jì)內(nèi)容及要求2.1 掃雷游戲的基本要求Windows 2000/XP系統(tǒng)提供的掃雷游戲是一個(gè)很有趣的游戲。本章的課程設(shè)計(jì)使用Java語言編寫一個(gè)與其類似的掃雷游戲。具體要求如下:(1) 掃雷游戲分為初級(jí)、中級(jí)和高級(jí)三個(gè)級(jí)別,掃雷英雄榜存儲(chǔ)
5、每個(gè)級(jí)別的最好成績(jī),即挖出全部的地雷且用時(shí)最少者。單擊游戲菜單可以選擇“初級(jí)”、“中級(jí)”和“高級(jí)”或“查看英雄版”。(2) 選擇級(jí)別后將出現(xiàn)相應(yīng)級(jí)別的掃雷區(qū)域,這是用戶使用鼠標(biāo)左鍵單擊雷區(qū)中任何一個(gè)方塊便啟動(dòng)計(jì)時(shí)器。(3) 用戶要揭開某個(gè)方塊,可單擊它。若所揭方塊下有淚,用戶便輸了這一局,若所揭方塊下五雷,則顯示一個(gè)數(shù)字,該數(shù)字代表方塊的周圍的8個(gè)方塊中共有多少顆雷。(4) 如果用戶認(rèn)為某個(gè)方塊下埋著雷,單擊右鍵可以在方塊上標(biāo)識(shí)一個(gè)用戶認(rèn)為是雷的圖標(biāo),即給出一個(gè)掃雷標(biāo)記。用戶每標(biāo)記出一個(gè)掃雷標(biāo)記(無論用戶的標(biāo)記是否正確),程序?qū)@示的剩余雷數(shù)減少一個(gè)。 (5) 掃雷勝利后(用時(shí)最少者),程序彈
6、出保存成績(jī)的對(duì)話框。 (6)用戶可以選擇標(biāo)記疑問的方塊,用可以勾選游戲菜單下的標(biāo)記(或者用快捷鍵alt+G 然后M)即可,此時(shí)雙擊右鍵并可出現(xiàn)“?”標(biāo)記。另有顏色選項(xiàng),當(dāng)用戶勾選此項(xiàng)時(shí),游戲?qū)⒁宰畹蛨D像像素來顯示。(7)如果用戶需要即使提示聲,并可選中聲音選項(xiàng),此時(shí)將聽到計(jì)時(shí)的卡塔聲。當(dāng)用戶點(diǎn)中雷時(shí),將有爆炸聲產(chǎn)生,勝利時(shí),將有凱旋的旋律播放,此時(shí)企鵝出現(xiàn)歡悅表情。2.2 需實(shí)現(xiàn)的主要功能 (1) 用戶可以自定義級(jí)別并且可以任意輸入雷數(shù);(2) 具有計(jì)時(shí)功能,即顯示用戶完成移動(dòng)盤子所花費(fèi)的時(shí)間;(3) 用戶可以選擇是否有音效;(4) 自動(dòng)保存掃雷英雄榜;3 需求分析3.1 掃雷棋盤的布局設(shè)計(jì)系
7、統(tǒng)的整體布局為:CardLayout布局, 采用了菜單、按鈕、面板等組件,菜單主要包括開始,選擇級(jí)別,標(biāo)記,掃雷英雄榜,退出, 按鈕的功能是重新開始新的游戲。3.2 雷區(qū)的設(shè)計(jì)MineArea類是javax.swing包中Jpanel容器的子類,實(shí)現(xiàn)了ActionListener和MouseListener接口,所創(chuàng)建的對(duì)象:mineArea是MineGame類中最重要的成員之一,作為一個(gè)容器添加到MineGame窗口的中心。標(biāo)明MineArea類的主要成員變量、方法以及和MineGame類之間組合關(guān)系的UML圖如圖2-1所示。以下是UML圖中有關(guān)數(shù)據(jù)和方法的詳細(xì)說明。3.2.1成員變量(1)
8、block是Block類型的數(shù)組,用來確定雷區(qū)有多少需進(jìn)行掃雷的方塊。(2)blockView是BlockView類型的數(shù)組,負(fù)責(zé)為block數(shù)組中的Block對(duì)象提供視圖。(3)lay是LayMines類型的對(duì)象,負(fù)責(zé)設(shè)置block數(shù)組中的哪些方塊是雷或不是雷。 (4)record負(fù)責(zé)提供保存成績(jī)的界面,是一個(gè)對(duì)話框,默認(rèn)不可見。用戶只有掃雷成功后(用時(shí)最少),才可以看見對(duì)話框。 (5)reStart是一個(gè)按鈕對(duì)象,用戶單擊它重新開始游戲。 (6)time是計(jì)時(shí)器對(duì)象,負(fù)責(zé)計(jì)算用戶的用時(shí)。3.2.2方法(1)initMineArea(int,int,int,int)方法可根據(jù)參數(shù)提供的數(shù)據(jù)設(shè)
9、置雷區(qū)的寬度、高度、雷的數(shù)目以及雷區(qū)的級(jí)別。(2)actionPerformed(ActionEvent)是MineArea類實(shí)現(xiàn)的ActionListener接口中的方法。當(dāng)用戶單擊blockView中的某個(gè)方塊時(shí),actionPerformed(ActionEvent)方法負(fù)責(zé)執(zhí)行有關(guān)算法,例如,當(dāng)用鼠標(biāo)左鍵單擊方塊上的按鈕后,若該方塊下有雷,actionPerformed(ActionEvent)方法將使用戶輸?shù)舯揪?,若該方塊下無雷,actionPerformed(ActionEvent)方法將顯示blockView對(duì)象中的標(biāo)簽,該標(biāo)簽上是一個(gè)數(shù)字,該數(shù)字代表當(dāng)前方塊的周圍的8個(gè)方塊中共
10、有多少顆雷。(3)show()方法是一個(gè)遞歸方法。actionPerformed(ActionEvent)方法執(zhí)行時(shí)將調(diào)用show方法進(jìn)行掃雷。(4)mousePressed(MouseEvent)方法是MineArea類實(shí)現(xiàn)的MouseListener接口中的方法,當(dāng)用戶按下鼠標(biāo)有件事mousePressed(MouseEvent)方法負(fù)責(zé)讓方塊上顯示一個(gè)探雷標(biāo)記。 (5)inquireWin()方法用來判斷用戶是否掃雷成功,如果成功該方法負(fù)責(zé)讓record對(duì)話框可見。所謂掃雷成功是指不僅找到了全部的累而且用時(shí)最少。 綜上所述,MineArea創(chuàng)建的掃雷區(qū)域效果如圖2.2.2所示。3.3 排
11、行榜設(shè)計(jì)LogDialog是javax.swing包中Jdialog對(duì)話框的子類,并實(shí)現(xiàn)了ActiongListener接口。LogDialog創(chuàng)建的對(duì)象dialog是MainFrame類(主類)的成員之一,當(dāng)用戶選擇查看“英雄榜”菜單項(xiàng)時(shí),該對(duì)話框可見,提供了查看掃雷的最好成績(jī)的界面。標(biāo)明LogDialog類的主要成員變量、方法以及和MainFrame類之間組合關(guān)系的UML圖如圖2-3所示。4 總體設(shè)計(jì)4.1 總體功能圖4.2 總體流程圖4.3雷區(qū)設(shè)計(jì)流程圖4.4 排行榜設(shè)計(jì)流程圖5 代碼實(shí)現(xiàn)5.1 類之間關(guān)系圖5.2 運(yùn)行效果圖5.3 程序打包發(fā)布過程可以使用jar.exe命令制作JAR文
12、件來發(fā)布編寫的軟件。 (1)首先用文本編輯器,如Windows下的“記事本”,編寫一個(gè)清單文件:Mymoon.mfManifest-Version: 1.0 Main-Class: MineGameCreated-By: 1.5(Sun Microsystems Inc.) 將Mymoon.mf保存到G:Java課程設(shè)計(jì)掃雷游戲1掃雷游戲33中,即和應(yīng)用程序所用的字節(jié)碼文件保存在相同的目錄中。 注意:清單文件中的“Manifest-Version:”和1.0、“Main-Class”和主類MineGame之間以及“Created-By:”和1.5之間必須有且只有一個(gè)空格。 (2)生成JAR文件
13、。 G:Java課程設(shè)計(jì)掃雷游戲1掃雷游戲33jar cfm Game.jar Mymoon.mf *.class其中,參數(shù)c表示要生成一個(gè)新的JAR文件,f表示要生成的JAR文件的名字,m表示清單文件的名字。 可以將Hannoi.jar復(fù)制到任何一個(gè)安裝了Java運(yùn)行環(huán)境(版本號(hào)需高于1.5的計(jì)算機(jī)上)的計(jì)算機(jī)上,用戶用鼠標(biāo)雙擊該文件的圖標(biāo)就可以運(yùn)行掃雷游戲。6 總結(jié)通過這次的課程設(shè)計(jì),我對(duì)Java這門語言有了更深刻的理解。其中包括類、對(duì)象、接口、繼承、方法以及Java語言中的常用包等的使用方法,特別是圖形用戶界面里各種組件的創(chuàng)建,事件處理等相關(guān)知識(shí)。還學(xué)會(huì)了很多在這個(gè)學(xué)期Java2課程設(shè)計(jì)
14、基礎(chǔ)課上沒有學(xué)會(huì)和沒有學(xué)懂的東西,使我對(duì)Java語言是一種非常難懂的語言的思想有了極大的改觀。這次的課程設(shè)計(jì)是用Java語言及相關(guān)知識(shí)設(shè)計(jì)一個(gè)掃雷游戲系統(tǒng),能實(shí)現(xiàn)選擇游戲級(jí)別,記錄游戲時(shí)間和保存游戲成績(jī)等功能。雖然整個(gè)設(shè)計(jì)的時(shí)間才短短兩周,我還是對(duì)JDK和JCreator等Java語言開發(fā)工具有了深層次的認(rèn)知,并熟練掌握了它們的使用方法。而且這次的課程設(shè)計(jì),也使我的編程能力有了明顯的提高。通過這次課程設(shè)計(jì)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。此外,我認(rèn)為這次課程設(shè)計(jì)最大的收獲就是:知識(shí)必須通過應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)
15、會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。參考文獻(xiàn)1 Java課程設(shè)計(jì)(第二版) 清華大學(xué)出版社 耿祥義 張躍平2 Java2實(shí)用教程(第三版) 清華大學(xué)出版社 耿祥義 等 3精通Struts:基于MVC的Java Web設(shè)計(jì)與開發(fā).北京:電子工業(yè)出版社,2004.08 4JAVA 語言與面向?qū)ο蟪绦蛟O(shè)計(jì) . 印 旻 . 清華大學(xué)出版社。 5 JavaApplet 實(shí)例編程,赤金、聶松編著,中國水利水電出版社 6 Java 開發(fā)利器 Eclipse 從入門到精通張峰科技 編,清華大學(xué)出版社 7 Java2 核心第二版窗體底端 8Sun中國技術(shù)社區(qū)9Ja
16、va之家10Apache社區(qū)/7 主要源代碼importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Font;importjava.awt.GridLayout;importjava.awt.Insets;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;im
17、portjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JPanel;importjavax.swing.Timer;public class ScanLei1 extends JFrame implements ActionListenerprivate static final long serialVers
18、ionUID = 1L;private Container contentPane;privateJButtonbtn;privateJButton btns;privateJLabel b1;privateJLabel b2;privateJLabel b3;private Timer timer;privateint row=9;privateint col=9;privateint bon=10;privateint a;privateint b;privateint a1;privateJPanel p,p1,p2,p3;public ScanLei1(String title)sup
19、er(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;JMenuBarmenuBar=new JMenuBar();JMenu menu
20、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
21、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(n
22、ew 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);
23、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(inti=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(
24、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,ActionEvente,inti
25、,intx,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)&&(n+col*q)&
26、lt;(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>-1&&n<col&
27、;&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*q,x+1,l);/55/ax+1l=10;btnsn+
28、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.setText(axy-1+"");axy-1=10;btnsn+
29、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*col)&&(n+col*q)<(m+1)*col)if(axy+1
30、!=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.getActionCommand()="初級(jí)")row=9;col=9;bon=10;a1=new
31、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(inti=0;i<row*col;i+)btnsi=new JButton(" "
32、);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(inti=0;i<row*col;i+)btnsi.setText(" ");btn
33、si.setEnabled(true);for(inti=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.setText("40");b2.setText("0");b3.set
34、Text("");btns=new JButtonrow*col; p2=new JPanel();p2.setLayout(new GridLayout(row,col,0,0);for(inti=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 Norm
35、oreMouseEvent();p2.add(btnsi);contentPane.add(p2,BorderLayout.CENTER);this.pack();/setSize(33*col,33*row+80);for(inti=0;i<row*col;i+)btnsi.setText("");btnsi.setEnabled(true);for(inti=0;i<row+2;i+)for(int j=0;j<col+2;j+)aij=0;else if(e.getActionCommand()="高級(jí)")row=16;col=3
36、2;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 GridLayout(row,col,0,0);for(inti=0;i<row*col;i+)btnsi=n
37、ew 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(33*col,33*row+80);this.pack();for(inti=0;i<row*col;i+
38、)btnsi.setText("");btnsi.setEnabled(true);for(inti=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(inti=0;i<row*col;i+)btnsi.setText("");btnsi.setEnabled(true);for(inti=0;i<row
39、+2;i+)for(int j=0;j<col+2;j+)aij=0;/產(chǎn)生隨機(jī)數(shù)for(inti=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.setText(bon+"");b2.setText("0");/布雷for(inti=0;
40、i<bon;i+)int x=(a1i/col+1);int y=(a1i%col+1);axy=100; for(inti=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(inti=1;i<=row;i+)for(int j=1;j<=col;j+)if(aij!=100)for(int l=j-1;l<=j+1;l+)if(ai-1l=100)aij+; if(ai+1l=100)aij+; if(aij-1=100)aij+; if(aij+1=100)
41、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(inti=0;i<col*row;i+)if(btnsi.getText()!="") int x=i/col+1;int y=i%col+1;if(e.getSource()=btnsi&&axy=100)btnsi.setText(""
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年眉山貨運(yùn)資格證模擬考試新題庫
- 電梯加件協(xié)議書(2篇)
- 電力需求預(yù)測(cè)合同(2篇)
- 2024-2025學(xué)年四年級(jí)語文上冊(cè)第五單元橋12橋之思備課教案北師大版
- 湘教版數(shù)學(xué)七年級(jí)下冊(cè)2.2.2《運(yùn)用完全平方公式進(jìn)行計(jì)算》聽評(píng)課記錄
- 律師事務(wù)所年度檢查考核總結(jié)
- 第三季度財(cái)務(wù)工作總結(jié)
- 采購計(jì)劃年終工作總結(jié)
- 聽評(píng)課記錄二年級(jí)語文
- 領(lǐng)導(dǎo)給員工的評(píng)語與希望
- 2024過敏性休克搶救要點(diǎn)(附圖表)
- 廣西2024年高考物理模擬試卷及答案1
- 2024年廣東省中考?xì)v史真題(含解析)
- JGJ52-2006 普通混凝土用砂、石質(zhì)量及檢驗(yàn)方法標(biāo)準(zhǔn)
- 組織生活個(gè)人發(fā)言稿
- (高清版)JTST 273-2024 水運(yùn)工程測(cè)量定額
- 電網(wǎng)工程勞務(wù)分包投標(biāo)技術(shù)方案(技術(shù)標(biāo))
- 口腔疾病藥物臨床應(yīng)用規(guī)范
- 第22課《陳涉世家》課件(共71張)
- 《字體設(shè)計(jì)》課件-企業(yè)標(biāo)準(zhǔn)字字體設(shè)計(jì)的原則
- 2024金融數(shù)據(jù)安全數(shù)據(jù)安全評(píng)估規(guī)范
評(píng)論
0/150
提交評(píng)論