




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第一章引言1.背景游戲連連看”顧名思義就是找出相關聯(lián)的東西,這個連連看在網(wǎng)上基本是用在小游戲中,就是找出相同的兩樣東西,在一定的規(guī)則之內(nèi)可以做為相關聯(lián)處理。連連看”的發(fā)展經(jīng)歷了從桌面游戲、在線游戲、社交游戲三個過程。游戲連連看”是源自臺灣的桌面小游戲,自從流入大陸以來風靡一時,也吸引眾多程序員開發(fā)出多種版本的連連看”。這其中,顧方編寫的阿達連連看”以其精良的制作廣受好評,這也成為顧方阿達系列軟件”的核心產(chǎn)品。并于2004年,取得了國家版權局的計算機軟件著作權登記證書。隨著Flash應用的流行,網(wǎng)上出現(xiàn)了多種在線Flash版本連連看”。如水晶連連看”、果蔬連連看”等,流行的水晶連連看”以華麗界面
2、吸引了一大批的女性玩家。2008年,隨著社交網(wǎng)絡的普及和開放平臺的興起,連連看”被引入了社交網(wǎng)絡。連連看”與個人空間相結(jié)合,被快速的傳播,成為一款熱門的社交游戲,其中以開發(fā)者Jonevey在Manyou開放平臺上推出的寵物連連看”最為流行。網(wǎng)絡小游戲、網(wǎng)頁游戲越來越受網(wǎng)民歡迎,除了玩的方法簡單外(不像其他游戲還需要注冊下載繁瑣過程),很多游戲不乏經(jīng)典。連連看游戲就是典型。不管走到哪個網(wǎng)頁游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領,是一款適合大眾的經(jīng)典網(wǎng)絡、單機休閑小游戲。游戲連連看,只要將相同的兩張牌用三根以內(nèi)的直線連在一
3、起就可以消除,規(guī)則簡單容易上手。游戲速度節(jié)奏快,畫面清晰可愛,適合細心的玩家。豐富的道具和公共模式的加入,增強游戲的競爭性。多樣式的地圖,使玩家在各個游戲水平都可以尋找到挑戰(zhàn)的目標,長期地保持游戲的新鮮感。該游又由30張不同的圖片組成,游戲開始將會出現(xiàn)30張隨機組合的圖片,在規(guī)則下點擊兩張相同的圖片后圖片將會消失。圖片全部消完為游戲成功。游戲還將設置退出,再來一局的按鈕,并實現(xiàn)該功能,方便用戶進行操作。1.1課程設計內(nèi)容(1)游戲計分功能當消去兩個相同的圖片后分數(shù)將增加100分。(2)退出功能該功能有一個“退出”按鈕,當按下“退出”按鈕后,將直接退出游戲。(3)成功完成任務時顯示的該功能有,恭
4、喜成功,一個“再來一局”的按鈕,當按下“再來一局”按鈕后,圖片將會重新排列,重新開始游戲。(4)游戲倒計時功能在游戲界面的上方有一個倒計時的進度條,增加游戲的難度,激發(fā)玩家的挑戰(zhàn)興趣。9第二章系統(tǒng)介紹1 .連連看游戲規(guī)則1.1 游戲基本規(guī)則用鼠標左鍵點擊方塊,將2個圖案相同的方塊用連線連接起來,連接線不多于3根直線,連接后方塊就會消失。在規(guī)定的時間內(nèi)將30張圖片全部消除。1.2 操作規(guī)則選擇一個圖片用鼠標左鍵點擊,圖片會變色,然后點擊另一個同樣圖片,如果能夠連線就成功消失,如果不能連線,第一次選擇的圖片就會失效,然后將繼續(xù)尋找符合規(guī)則的圖片。1.3 勝利和失敗把所有的圖片成功消除完畢,則認為是
5、本次游戲成功。選擇圖片時間是有限的,在規(guī)定的時間內(nèi),若未能將圖片全部消除,則失敗,提醒是否再來一局。2 .游戲流程圖分析流程圖分析如下圖2.1所示:圖2.1游戲流程圖此次設計所使用的語言為Java主要應用到Swing組件,Java小程序,事件及接口等。這些接口為游戲的制作提供了便捷的條件,本系統(tǒng)的主要特點就是運用Swing組件和事件處理技術,進行界面的繪制,鼠標的操作,以及積分的顯不等功能。這次通過連連看的設計開發(fā)將對理解Swing組件技術以及事件處理技術在游戲方面的應用起到很大的幫助作用,同時為掌握Java編程技術及二維休閑游戲設計的一般方法打下堅實的基礎。游戲程序設計一般都采用面向?qū)ο蟮脑O
6、計模式,提供了一個簡單的圖像顯示接口,利用多文檔視圖結(jié)構(gòu)的面向?qū)ο笤O計模式。第三章系統(tǒng)游戲設計1 .系統(tǒng)分析1.1 游戲系統(tǒng)需求分析主要設計目標:使用GUI設計連連看,載入圖片信息,進行正確分析系統(tǒng)的功能,總載入30張圖片,且圖片信息成對出現(xiàn),且可以偶數(shù)項刪除,并具有計時等功能游戲中將有“退出”功能,選擇退出命令后程序?qū)⒔K止執(zhí)行,關閉窗口。還將有“再來一局”功能,選擇再來一局命令后程序?qū)D片重新排列,重新開始游戲。該游戲還有一個時間倒計時的進度條,提醒玩家剩余的時間,增加游戲的難度。在界面的頂部有計分功能,當玩家消去圖片后就會贏得相應的分數(shù)。1.2 系統(tǒng)開發(fā)及運行環(huán)境硬件平臺:本游戲?qū)τ布?/p>
7、求較低,基本都可以正常運行。軟件平臺:操作系統(tǒng):Windows系列。開發(fā)工具包:JDKVersion1.621.3 系統(tǒng)功能主要要求1 .系統(tǒng)采用圖片連連看方式.界面美觀,用戶使用靈活,方便快捷.2 .計分自動完成,提高工作效率。3 .用進度條進行游戲界面的計時功能。4 .可方便快捷地進行下一盤游戲,并且兩盤的分數(shù)在規(guī)定的時間內(nèi)會疊加起來。5 .操作員可以隨時退出游戲。6 .對用戶輸入的信息,系統(tǒng)進行嚴格的信息檢驗,盡可能排除人為的錯誤。7 .系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。8 .系統(tǒng)運行穩(wěn)定、安全可靠。2 .系統(tǒng)總體結(jié)構(gòu)連連看是基于java基本知識設置的一個小游戲,最中間有連連看的主
8、體構(gòu)成一一連連看圖片,上面有計分、時間條,下面有退出、再來一局按鍵。一個標準的連連看系統(tǒng)應該包括以下幾大功結(jié)構(gòu):1、鼠標操作模塊;2、圖像處理模塊;3、菜單模塊;4、顯示模塊。3 .系統(tǒng)各模塊功能介紹系統(tǒng)各功能模塊實現(xiàn)的功能為鼠標操作模塊:玩家在玩游戲時需要運用鼠標與游戲系統(tǒng)進行交互,這個模塊的實現(xiàn)是運用鼠標事件觸發(fā)的,在連連看的游戲場景中運用鼠標進行交互的事件主要有兩個,一個是用戶點擊游戲場景中的圖片時觸發(fā)的事件。另外一種是用戶點擊菜單欄上的菜單按鈕時說觸發(fā)的鼠標事件。當用戶點擊游戲場景中的圖像塊時就會響應鼠標的OnLButtonDown事件,然后進行相應的邏輯判斷。當用戶點擊菜單欄上的菜單
9、命令時就會觸發(fā)相應的菜單命令對應的相應的事件。圖像處理模塊:程序運行后,用戶通過游戲菜單的開始命令進入游戲,在這個模塊里要把資源文件中的圖片進行處理然后加載到游戲場景中這在程序中是通過DrawMap()方法實現(xiàn)的。其中用到的API函數(shù)主要是是BitBlt,他的主要功能是將某一內(nèi)存塊的數(shù)據(jù)傳送到另一內(nèi)存塊,前一內(nèi)存塊被稱為"源”,后一內(nèi)存塊被稱為"目標”圖象程序開發(fā)者使用Blit的函數(shù)在內(nèi)存中將某頁面上的一幅位圖經(jīng)過一定的變換轉(zhuǎn)移到另一個頁面上。菜單模塊:玩家在游戲游戲過程中隨時可以通過選擇不同的菜單命令來進行相應的操作,菜單的制作是通過MFC框架中多文檔程序的菜單欄來添加的
10、,菜單包含一下幾個部分:(1)游戲菜單中的開始、放棄和退出命令。界面顯示模塊:游戲場景中界面的顯示包括以下部分:游戲計分,剩余時間、游戲主場景,游戲完成提示界面。這些顯示信息會隨著游戲的進行而動態(tài)改變。在連連看游戲中。整個連連看游戲的系統(tǒng)是在VC+6.0開發(fā)環(huán)境中進行開發(fā)的,開發(fā)過程中大量的使用了微軟提供的API接口方法,減少了程序代碼的編寫量、提高了編程效率。第四章系統(tǒng)的具體實現(xiàn)1 .系統(tǒng)主要運行界面1.1 運行界面運行界面如下圖4.1所示:圖4.1運行界面1.2 執(zhí)行界面,進入游戲正常運行執(zhí)行界面如下圖4.2所示:國JKJ連連看t口I回I弱圖4.2執(zhí)行界面1.3 時間到界面時間到界面如下圖
11、4,3所示:圖4.3時間到界面1.4贏家界面游戲運行成功界面如下圖4,4所示:圖4.4游戲運行成功界面111.5進度條界面程序運行進度條如下圖4.5所示:200圖4.5程序運行進度條2 .游戲?qū)崿F(xiàn)代碼2.1 主面板內(nèi)所需要的組件的聲明public cl ass LianLianKan implemente AclionLielener ( JFrame mainFrame; / 三面板主面板內(nèi)所需要的組件的聲明代碼如下圖4.6所示:fyPaneltime;jPanelcerrterPanE】,SDuthPanel,northPanel;/3個子面板JButtondiamondsButtonJJ
12、=newJButtonlej5,"質(zhì)戲老輪燃目JButtoneiitButtcinnewlyBulton,/退出,重新開始按鈕JLabelscoreLabie;/分數(shù)標簽、JButtonfirstSutton,secon(button:/分別兩次被選中的按鈕Tlwcttimer;imgridU=newint87;/儲存游戲按鈕枚置staticbooleanpresslnformalinn=false/判斷是否有按鈕被選中imslijiO;inixO=0,yO=0,*=%¥=&fristHsg=Q.secmidisg=口.validateLV;"游戲按鈕的位
13、置坐標inttJ,k,n;/消除方法捶制圖4.6組件聲明2.2 填充一個矩形框,進行顯示時間填充一個矩形框,進行顯示時間代碼如下圖4.7所示:WyPmielextendsJPanelin.tent=O;piLiblieizoidpalirtCGraphicsg)super.paintC:gJ;g;占setCalor'(Calorazrud);fi1IRect(this*getWidthC)-entj口、ont刖thisigetHeightO5;*public:booleanisEnd()if(cn,t+>this.g;etWid.tH()x-etLix1!:!tirueurepa
14、intO;retLErnfalse;圖4.7填充矩形框顯示時間172.3主面板及各組件初始化主面板及各組件初始化如下圖4,8所示:publicvoidinit()(nsinFrame:new¥r頸式”J町連連看');"設置壬面板的名稱為“JKJ連垮看”mainFrame.selDefaultCloseOperation(jFranE.EXITONCLOSE);/轉(zhuǎn)束窗體所在的應用程序MinFrame.seiLayout(newBotrderLayuLitO);/設置為BctTderLaynirt(用7局scoreLable=newJLabel("0&quo
15、t;).ctnterPanel-newJPanel0;/設置面板sijuthPaiiel=newJFanel();narthPanel-newJPanel();nurthPanel.setLayout(newBorderLayaul(),"箕置時間分數(shù)面板布局為邊界布局mainFrajue.add(cenlerPanel,"Center")./3黏口組件raainFrame.add(GauthPaneLj"South");mainFrame.add(nor1hPame1,飛皿在);ctntcrPancl.setLayout(nowGridLay
16、out(鄉(xiāng)&);/設置一個6/5的網(wǎng)格布局for(int81占二。;cols<6Pcols-H-)fcr(inttows-0;rows<5;rows+)/1=?置圖片=:=/>/diaiKundsButtonLcolsrows=newJButton(.iconsgridEcols+1rows+11-11);diaroandsButtonc1srows,addictianListener(this);centerPanel,add(di.arnondsButtoncolsraws;)exitButton二newjEut!'退出");退出按鈕exitBu
17、t1on.addketionListener(,this),newlyButtcn=newJButtdn再來一扃再來一局按鈕newlybutten.addActicnListener(this).EouthPaneLadd(eaitButtun);/博加退出按鈕southPanti,addCnewlyButtcn);/漆加再乘一局按鈕scorcLablc.setText(String.valueOf(Integer.parselnttscoreLable.getText0);time-newNyPane1(.);narthPanel.addCtimc,BorderLayout.CENTER)r
18、"時間:分northFanel.addtscoreLable.BorderLyout.WEST)時電-nainFrametsetSize(50Q,450)P/袁置主面抽的raainFram已setLRelativeTa(nul1);/設置窗口在屏mainFramE.setVisible(true);/設置窗匚可見間顯示able圖4.8主面板及各組件初始化2.4創(chuàng)建時間對象,每隔100毫秒刷新一次創(chuàng)建時間對象,每隔100毫秒刷新一次代碼如下圖4,9所示:publicvoidstartt0(timer二newTimer(100,this);init(),timer,startO;-fB3
19、tl%-X圖4.9創(chuàng)建時間對象2.5分數(shù)代碼。每消除一對圖片,則分數(shù)加上100。代碼如下圖4.10所示:publicvoidscore0|(scoreLable.setText(String,valueOf(integer,parse工nt(scoreLabie.getText0)+100),)圖4.10分數(shù)代碼3 .消除圖片具體情況當點擊兩個按鈕的圖片一樣時, 如下:運用消去算法來判斷是否可消去,具體情況3.1 兩次點擊相同圖片相鄰當兩次點擊的相同圖片相鄰時,如下圖4.11所示,則消去。圖4.11點擊圖片相鄰3.2 水平方向消去算法當兩次點擊的相同圖片如下圖4.12所示,則在水平方向用循環(huán)算
20、法for(j=0;j<7;j+)判斷,設第一次選中按鈕坐標為x0,y0,第二次選中按鈕坐標為x,y,則先找到grid(x0,j)為0的j,再判斷x水平方向x到j是否grid(x,j)都為0,若是則判斷x0水平方向x0至“是否grid(x0,j)都為0,若是,則再判斷x和x0,若相等消去,若不等判斷在j豎直方向上是否grid(n,j)(n為x到x0之間的數(shù))都為0,若是則消去。圖4.12水平消去算法圖片3.3 豎直方向消去算法豎直方向消去算法。情況與水平方向基本相同,重點提一下圖片4.13所示的情況,其余情況不再重復描述。出現(xiàn)下圖情況則會消去,消去原理與水平方向消去算法相似。圖4.13豎直
21、消去算法圖片第五章程序清單19packagec02;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.*;importjavax.swing.*;classMyPanelextendsJPanelintcnt=0;publicvoidpaint(Graphicsg)super.paint(g);g.setColor(Color.red);g.fillRect(this.getWidth()-cnt,0,cnt,this.getHeight();填
22、充一個矩形區(qū)域publicbooleanisEnd()if(cnt+>this.getWidth()returntrue;repaint();returnfalse;publicclassLianLianKanimplementsActionListenerJFramemainFrame;/主面板MyPaneltime;JPanelcenterPanel,southPanel,northPanel;/3個子面板JButtondiamondsButton口口=newJButton65;/游戲按鈕數(shù)組JButtonexitButton,newlyButton;/退出,重新開始按鈕JLabel
23、scoreLable;/分數(shù)標簽JButtonfirstButton,secondButton;/分別記錄兩次被選中的按鈕Timertimer;intgrid口口=newint87;/儲存游戲按鈕位置staticbooleanpressInformation=false;/判斷是否有按鈕被選中intsum=0;intx0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0;/游戲按鈕的位置坐標inti,j,k,n;/消除方法控制/=調(diào)用圖片=/privatestaticIconicons=newImageIcon6*5;靜態(tài)數(shù)組icons用于存放圖片絕對地址privat
24、estaticfinalStringimgDir="f:/meng"statictryFiledir=newFile(imgDir);FileimgFiles=dir.listFiles(newFilenameFilter()/獲取f:/meng文件中的圖片publicbooleanaccept(Filedir,Stringname)returnname.toLowerCase().endsWith(".jpg"););for(inti=0;i<6*5;i+)/獲取f:/meng文件中的圖片的絕對路徑放在icons數(shù)組中iconsi=newImag
25、eIcon(imgFilesi.getAbsolutePath();/System.out.println(i+""+iconsi);catch(Exceptione)e.printStackTrace();/異常處理publicvoidinit()/初始化面板mainFrame=newJFrame("JKJ連連看");/設置主面板的名稱為"JKJ連連看”mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/結(jié)束窗體所在的應用程序mainFrame.setLayout(newBord
26、erLayout();/設置為BorderLayout()布局scoreLable=newJLabel("0");centerPanel=newJPanel();設置面板southPanel=newJPanel();northPanel=newJPanel();northPanel.setLayout(newBorderLayout();設置時間分數(shù)面板布局為邊界布局mainFrame.add(centerPanel,"Center");/添加組件mainFrame.add(southPanel,"South");mainFrame.
27、add(northPanel,"North");centerPanel.setLayout(newGridLayout(6,5);/設置一個6*5的網(wǎng)格布局for(intcols=0;cols<6;cols+)for(introws=0;rows<5;rows+)/=設置圖片=/diamondsButtoncolsrows=newJButton(iconsgridcols+1rows+1);diamondsButtoncolsrows.addActionListener(this);centerPanel.add(diamondsButtoncolsrows);
28、exitButton=newJButton("退出)退出按鈕exitButton.addActionListener(this);newlyButton=newJButton("再來一局");/再來一局按鈕newlyButton.addActionListener(this);southPanel.add(exitButton);/添加退出按鈕southPanel.add(newlyButton);/添加再來一局按鈕scoreLable.setText(String.valueOf(Integer.parseInt(scoreLable.getText();tim
29、e=newMyPanel();northPanel.add(time,BorderLayout.CENTER);時間-分數(shù)面板上在CENTER位置添加時間northPanel.add(scoreLable,BorderLayout.WEST);時間-分數(shù)面板上在WEST位置添加分數(shù)LablemainFrame.setSize(500,450);/設置主面板的大小mainFrame.setLocationRelativeTo(null);/設置窗口在屏幕中間顯示mainFrame.setVisible(true);/設置窗口可見publicvoidstartt()timer=newTimer(1
30、0,this);創(chuàng)建時間對象,每隔100毫秒計時一次。init();timer.start();publicvoidrandomBuild()/初始化存放游戲按鈕位置的grid也數(shù)組(也就是icon下標+1)intrandoms,cols,rows;/變for(inttwins=1;twins<=15;twins+)randoms=(int)(Math.random()*24);for(intalike=1;alike<=2;alike+)cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);while(gridco
31、lsrows!=0)cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);this.gridcolsrows=randoms;publicvoidscore()/方法聲明scoreLable.setText(String.valueOf(Integer.parseInt(scoreLable.getText()+100);publicvoidreload()方法聲明intsave口=newint30;/創(chuàng)建聲明數(shù)組intn=0,cols,rows;/變量定義intgrid川=newint87;/創(chuàng)建聲明數(shù)組for(inti=0;
32、i<=6;i+)for(intj=0;j<=5;j+)if(this.gridij!=0)saven=this.gridij;n+;n=n-1;this.grid=grid;/this出現(xiàn)在實例方法中,表示使用該方法的當前對象while(n>=0)/while循環(huán)cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);while(gridcolsrows!=0)/循環(huán)嵌套cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);this.gridcol
33、srows=saven;this出現(xiàn)在實例方法中,表示使用該方法的當前對象n-;mainFrame.setVisible(false);/窗口不可見pressInformation=false;/這里一定要將按鈕點擊信息歸為初始init();for(inti=0;i<6;i+)/for循環(huán)for(intj=0;j<5;j+)循環(huán)嵌套if(gridi+1j+1=0)diamondsButtonij.setVisible(false);窗口不可見publicvoidestimateEven(intplaceX,intplaceY,JButtonbz)點擊按鈕觸發(fā)if(pressinfo
34、rmation=false)/選擇語句x=placeX;y=placeY;secondMsg=gridxy;secondButton=bz;pressinformation=true;elsex0=x;y0=y;fristMsg=secondMsg;firstButton=secondButton;x=placeX;y=placeY;secondMsg=gridxy;secondButton=bz;if(fristMsg=secondMsg&&secondButton!=firstButton)/相同的情況下能不能消去。xiao();publicvoidxiao()if(x0=
35、x&&(y0=y+1|y0=y-1)|(y0=y)&&(x0=x+1|x0=x-1)/判斷是否相鄰remove();elsefor(j=0;j<7;j+)if(gridx0j=0)/判斷第一個按鈕同行哪個按鈕為空if(y>j)/如果第二個按鈕的Y坐標大于空按鈕的Y坐標說明第一按鈕在第二按鈕左邊f(xié)or(i=y-1;i>=j;i-)/判斷第二按鈕左側(cè)直到第一按鈕中間有沒有按鈕if(gridxi!=0)k=0;break;elsek=1;/K=1說明通過了第一次驗證if(k=1)linePassOne();if(y<j)/如果第二個按鈕的Y坐標
36、小于空按鈕的Y坐標說明第一按鈕在第二按鈕右邊f(xié)or(i=y+1;i<=j;i+)/判斷第二按鈕左側(cè)直到第一按鈕中間有沒有按鈕if(gridxi!=0)k=0;break; else21=1;linePassOne();linePassOne();n<=x-1;n+)(gridnj!=0)=0;break;(gridnj=0&&n=remove();n>=x+1;n-)(gridnj!=0)=0;if(gridnj=0&&n=x+1)if(k=1)remove();if(y=j)for(i=0;i<8;i+)/列if(gridiy0=0)i
37、f(x>i)if(k=2)for(j=x-if(x0=x)1;j>=i;j-)remove();if(gridjy!=0)if(x0<x)kfor(n=x0;=0;ifbreak;elsekk=1,ifif(k=1)x-1)rowPassOne();if(x<i)if(x0>x)for(j=x+for(n=x0;1;j<=i;j+)ifif(gridjy!=0)kk=0;break;break;else25break;=1;if(k=1)rowPassOne();if(x=i)rowPassOne();if(k=2)if(y0=y)remove();if(y
38、0<y)for(n=y0;n<=y-1;n+)if(gridin!=0)k=0;break;if(gridin=0&&n=y-1)remove();if(y0>y)for(n=y0;n>=y+1;n-)if(gridin!=0)kif(gridin=0&&n=y+1)remove();publicvoidlinePassOne()if(y0>j)第一按鈕同行空按鈕在左邊f(xié)or(i=y0-1;i>=j;i-)/判斷第一按鈕同左側(cè)空按鈕之間有沒按鈕if(gridx0i!=0)k=0;break;elsek=2;/K=2說明通過了第
39、二次驗證if(y0<j)第一按鈕同行空按鈕在與第二按鈕之間for(i=y0+1;i<=j;i+)if(gridx0i!=0)k=0;break;elsek=2;publicvoidrowPassOne()if(x0>i)for(j=x0-1;j>=i;j-)if(grid皿y0!=0)k=0;break;elsek=2;if(x0<i)for(j=x0+1;j<=i;j+)if(grid皿y0!=0)k=0;break;elsek=2;publicvoidremove()消除兩個按鈕if(gridx0y0!=0&&gridxy!=0)firs
40、tButton.setVisible(false);不可見secondButton.setVisible(false);score();/分數(shù)加100pressInformation=false;gridx0y0=0;gridxy=0;sum+;if(sum=15)timer.stop();if(JOptionPane.showConfirmDialog(mainFrame,"恭喜你,你贏了!想再來一局嗎?","勝利",JOptionPane.YES_NO_OPTION尸JOptionPane.OK_OPTION)intgrid=newint87;thi
41、s.grid=grid;randomBuild();mainFrame.setVisible(false);/窗口不可見pressInformation=false;init();timer.start();/啟動線程sum=0;elseSystem.exit(0);publicvoidactionPerformed(ActionEvente)接口實現(xiàn)if(e.getSource()=newlyButton)intgrid=newint87;/創(chuàng)建數(shù)組this.grid=grid;randomBuild();mainFrame.setVisible(false);/窗口不可見pressInfo
42、rmation=false;init();timer.start();sum=0;if(e.getSource()=exitButton)System.exit(O);if(e.getSource()=timer)if(time.isEnd()timer.stop();時間到的提示if(JOptionPane.showConfirmDialog(mainFrame,”時間到了,o()on要再來一局嗎?","提示"JOptionPane.YES_NO_OPTION)=JOptionPane.OK_OPTION)intgrid川=newint87;this.grid=
43、grid;randomBuild();mainFrame.setVisible(false);/窗口不可見pressInformation=false;init();timer.start();/啟動線程sum=0;elseSystem.exit(0);for(intcols=0;cols<6;cols+)for(introws=0;rows<5;rows+)if(e.getSource()=diamondsButtoncolsrows)estimateEven(cols+1,rows+1,diamondsButtoncolsrows);publicstaticvoidmain(Stringargs)主函數(shù)LianLianKan11k=newLianLianKan();創(chuàng)建對象llk.randomBuild();調(diào)用方法11k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省大興安嶺市漠河縣一中2024-2025學年高中數(shù)學第三章概率3.2.1古典概型第1課時學案新人教A版必修3
- 跨區(qū)域醫(yī)療合作中的信息共享機制研究
- 科技禮品的線上營銷與線下體驗融合探討
- 跨區(qū)域管理多城市足浴店的流程統(tǒng)一與優(yōu)化策略
- 租用公共場地合同范本
- 食品安全知識普及學校食堂操作規(guī)范
- 金融市場的財務風險管理策略
- 合同的權利義務終止學習情境五建設工程合同課件
- 超市貨架的防撞與保護措施
- 7.1《回望成長》-課件- -2024-2025學年統(tǒng)編版道德與法治九年級下冊
- 文獻檢索與論文寫作-文獻檢索與科技論文寫作138課件
- 10KV開關柜教學講解課件
- 河南省施工現(xiàn)場安全文明施工標準
- 廢橡膠處理協(xié)議書范本
- 增額終身壽險銷售邏輯
- GB/T 8813-2020硬質(zhì)泡沫塑料壓縮性能的測定
- GB/T 15057.2-1994化工用石灰石中氧化鈣和氧化鎂含量的測定
- 潔凈廠房監(jiān)理實施細則
- 哈工大研究生課程-高等結(jié)構(gòu)動力學-第四章課件
- 當代教育心理學(范圍)課件
- 2023年湖南工業(yè)職業(yè)技術學院單招綜合素質(zhì)考試筆試題庫及答案解析
評論
0/150
提交評論