JAVA拼圖大作業(yè)實(shí)驗(yàn)報(bào)告課案_第1頁(yè)
JAVA拼圖大作業(yè)實(shí)驗(yàn)報(bào)告課案_第2頁(yè)
JAVA拼圖大作業(yè)實(shí)驗(yàn)報(bào)告課案_第3頁(yè)
JAVA拼圖大作業(yè)實(shí)驗(yàn)報(bào)告課案_第4頁(yè)
JAVA拼圖大作業(yè)實(shí)驗(yàn)報(bào)告課案_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2016秋季學(xué)期Java語(yǔ)言大作業(yè)系統(tǒng)說明報(bào)告編制:岳曉飛(20153280)審查:專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)信1501-2Java語(yǔ)言大作業(yè)報(bào)告Java語(yǔ)言大作業(yè)報(bào)告石家莊鐵道大學(xué)信息學(xué)院軟件工程系版權(quán)所有2016未經(jīng)書面允許不得另作它用。 石家莊鐵道大學(xué)信息學(xué)院軟件工程系版權(quán)所有2016未經(jīng)書面允許不得另作它用。 目錄TOC o 1-5 h z HYPERLINK l bookmark2 o Current Document 1項(xiàng)目目的與意義3 HYPERLINK l bookmark0 o Current Document 1.1項(xiàng)目背景說明31.2項(xiàng)目目的與意義3軟件開發(fā)環(huán)境與技術(shù)說明4

2、 HYPERLINK l bookmark4 o Current Document 2.1軟件開發(fā)環(huán)境4 HYPERLINK l bookmark6 o Current Document 2.2軟件開發(fā)技術(shù)描述43系統(tǒng)分析與設(shè)計(jì)5 HYPERLINK l bookmark8 o Current Document 3.1項(xiàng)目需求分析說明5 HYPERLINK l bookmark10 o Current Document 3.2系統(tǒng)設(shè)計(jì)方案54系統(tǒng)源代碼8 HYPERLINK l bookmark12 o Current Document 4.1系統(tǒng)源代碼文件說明8 HYPERLINK l bo

3、okmark14 o Current Document 4.2源代碼85系統(tǒng)使用說明書41 HYPERLINK l bookmark32 o Current Document 6參考資料497附件說明491項(xiàng)目目的與意義1.1項(xiàng)目背景說明JAVA語(yǔ)言2016年學(xué)期期末大作業(yè)-44拼圖游戲的設(shè)置1.2項(xiàng)目目的與意義目的:實(shí)現(xiàn)簡(jiǎn)單的4X4JAVA拼圖游戲的簡(jiǎn)單功能,可以進(jìn)行用戶的登錄和拼圖游戲的完成,給用戶以良好的游戲體驗(yàn),再加入更多個(gè)性化的內(nèi)容意義:從用戶角度,設(shè)計(jì)一個(gè)簡(jiǎn)單但是十分考驗(yàn)人的小型拼圖游戲,讓人們?cè)诤?jiǎn)單方便的操作中舒緩自己一天的疲憊,和朋友一起進(jìn)行挑戰(zhàn),不斷地突破,展現(xiàn)游戲的美麗,實(shí)

4、現(xiàn)游戲的價(jià)值從開發(fā)者角度,這是對(duì)我半年JAVA語(yǔ)言學(xué)習(xí)的檢測(cè),同時(shí)我也自學(xué)了許多東西,比如數(shù)據(jù)庫(kù)的鏈接,SQL語(yǔ)句和JAVA的各種函數(shù),讓我可以真正的體會(huì)到開發(fā)一個(gè)項(xiàng)目的過程和需要付出的不懈努力,也讓我享受到了自己盡全力完成一個(gè)項(xiàng)目的過程和完成后的喜悅。2軟件開發(fā)環(huán)境與技術(shù)說明2.1軟件開發(fā)環(huán)境JAVA開發(fā)環(huán)境-EclipseJAVA支持包:importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.*;importjavax.swing.*;mysql

5、-connector-java-5.1.40-bin.jar(MySql驅(qū)動(dòng)jar包)數(shù)據(jù)庫(kù)環(huán)境:MySql數(shù)據(jù)庫(kù)(使用的是Navicat圖形界面)2.2軟件開發(fā)技術(shù)描述拼圖游戲界面設(shè)計(jì)主要使用了JAVA的GUI圖形界面,主登錄界面和賬號(hào)注冊(cè)界面使用的是流式FlowLayOut布局進(jìn)行登錄框和按鈕的設(shè)置,而拼圖游戲界面則是使用的網(wǎng)格式GridFlowOut布局.通過連接MySql數(shù)據(jù)庫(kù),(名稱:user),創(chuàng)建數(shù)據(jù)表user_info列名稱為:username(賬號(hào)),password(密碼),score(過關(guān)時(shí)間),Count(過關(guān)所用步數(shù));實(shí)現(xiàn)了游戲的賬號(hào)注冊(cè)和登錄功能,以及每個(gè)賬號(hào)成績(jī)

6、的記錄和儲(chǔ)存,并可以再推行界面中顯示每個(gè)用戶的游戲記錄通過Timer類實(shí)現(xiàn)了拼圖游戲計(jì)時(shí)功能圖片存儲(chǔ)在項(xiàng)目文件夾下image文件夾中,通過名字的巧妙設(shè)置實(shí)現(xiàn)了打亂圖片順序,切換圖片,判斷拼圖是否完成。系統(tǒng)分析與設(shè)計(jì)3.1項(xiàng)目需求分析說明立足于用戶的角度,首先,我們實(shí)現(xiàn)了個(gè)性化的服務(wù),即賬號(hào)的注冊(cè)和登錄功能,不同的用戶可以進(jìn)行使用,使游戲具備了最重要的競(jìng)技性,只有這樣才不會(huì)讓用戶感到無聊,并且我們實(shí)現(xiàn)了4X4拼圖游戲的基本功能,而且配有游戲的時(shí)間的所用步驟,可以實(shí)時(shí)地反映給游戲用戶,讓用戶清楚地了解到自己的分?jǐn)?shù),同時(shí)還可以記錄游戲過關(guān)的時(shí)間和步數(shù),滿足了用戶的沖擊記錄的心理需求,調(diào)高了游戲的可玩

7、性,不會(huì)被用戶快速地玩膩。3.2系統(tǒng)設(shè)計(jì)方案從用戶的角度,我們需要有以下數(shù)據(jù)類型數(shù)據(jù)庫(kù)user數(shù)據(jù)表user_info列名稱類型長(zhǎng)度數(shù)據(jù)usernamevarchar255JAVA2016passwordvarchar255Java2016scorevarchar25501:30countint1156username和password是用戶的必有屬性,可以進(jìn)行登錄和注冊(cè)score和count即用戶所用的時(shí)間和步驟,雙重分?jǐn)?shù)完美呈現(xiàn)了每個(gè)人的實(shí)力從系統(tǒng)設(shè)計(jì)角度首先,最主要的是實(shí)現(xiàn)最最基本的游戲功能,即設(shè)計(jì)拼圖游戲的核心程序1.拼圖表格式的布局,容易讓我想到使用按鈕進(jìn)行網(wǎng)格式布局2.為每個(gè)按鈕添

8、加背景圖片(這些背景圖片需要經(jīng)過事先的裁剪),3.需要進(jìn)行按鈕背景圖片的打亂,容易想到使用隨機(jī)數(shù)RANDOM()函數(shù),然后會(huì)想到在背景圖片的名字上做文章來進(jìn)行背景圖片的隨機(jī)設(shè)置4.我們把16個(gè)按鈕存儲(chǔ)在數(shù)組中,便于操作,然而數(shù)組最大的方便之處在于他的隨機(jī)存儲(chǔ),我們可以通過下標(biāo)訪問任意一個(gè)按鈕,于是想到把圖片的名字與下標(biāo)聯(lián)系在一起,解決了圖片的隨機(jī)排列如何設(shè)置背景圖片?我們需要有圖片的路徑,而圖片的路徑僅僅是圖片名字的不同,所以我們將固定的圖片存儲(chǔ)路徑存放到字符串?dāng)?shù)組中,然后通過循環(huán)進(jìn)行圖片的設(shè)置,Setlcon()函數(shù)可以做到這一切.切換下一張,實(shí)質(zhì)還是背景圖片的變化,所以我們繼續(xù)在圖片名字上

9、做文章,設(shè)置一個(gè)表示數(shù)字代表是第幾張的圖片,把他設(shè)置到圖片名字里面。然后切換下一張被簡(jiǎn)化為改變一個(gè)數(shù)字(編程思路要清晰),數(shù)字變即路徑變,也就是背景圖發(fā)生變化總結(jié):拼圖-背景圖片的變化-背景圖片路徑的變化-圖片名字的變化接下來,實(shí)現(xiàn)一個(gè)項(xiàng)目的登錄和注冊(cè),我們需要數(shù)據(jù)庫(kù),而游戲的記錄也需要數(shù)據(jù)庫(kù)來存放,所以我么必須首先確立自己的數(shù)據(jù)庫(kù)體系,如上所示,然后就是實(shí)現(xiàn)注冊(cè),將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)和登錄,在數(shù)據(jù)庫(kù)中進(jìn)行匹配,游戲記錄的寫入和讀取。在游戲成功時(shí),獲取當(dāng)時(shí)的時(shí)間和步數(shù),寫入對(duì)應(yīng)的用戶的數(shù)據(jù)表中,然后另一個(gè)界面中設(shè)置表格,從數(shù)據(jù)庫(kù)中讀取信息,然后寫入到表格里面進(jìn)行展示最后,我考慮了游戲的一些具體實(shí)現(xiàn)

10、,游戲界面的設(shè)計(jì),如何才能讓用戶看得舒心,玩的自在,和暫停等實(shí)用小功能,無限滿足用戶的需求。以上,就是我在設(shè)計(jì)拼圖游戲是系統(tǒng)設(shè)計(jì)方案,以后還會(huì)不斷地完善自己的程序!系統(tǒng)源代碼4.1系統(tǒng)源代碼文件說明拼圖游戲源代碼結(jié)構(gòu)-分為4個(gè)窗口介紹1.Frame1主登錄窗口(屬性)包括3個(gè)標(biāo)簽組件,4個(gè)按鈕組件,2個(gè)文本域組件和1個(gè)布局,4個(gè)按鈕的鼠標(biāo)點(diǎn)擊監(jiān)聽事件(方法)包括1個(gè)函數(shù)來進(jìn)行組件的添加和布局的設(shè)置,1個(gè)函數(shù)進(jìn)行數(shù)據(jù)庫(kù)的連接和讀取,4個(gè)監(jiān)聽類進(jìn)行事件的編寫2.Frame2注冊(cè)窗口(屬性)包括2個(gè)按鈕,4個(gè)標(biāo)簽和3個(gè)文本域以及2個(gè)按鈕的點(diǎn)擊事件(方法)包括1個(gè)函數(shù)進(jìn)行組件的添加和布局的設(shè)置,1個(gè)函

11、數(shù)進(jìn)行數(shù)據(jù)庫(kù)的連接和寫入,2個(gè)監(jiān)聽類進(jìn)行點(diǎn)擊事件的編寫3.Frame3歷史記錄窗口(屬性)包括1個(gè)表格(方法)包括1個(gè)函數(shù)進(jìn)行表格的屬性設(shè)置和數(shù)據(jù)庫(kù)數(shù)據(jù)的讀取并寫入到表格中4.Frame4游戲窗口(屬性)包括4個(gè)按鈕,3個(gè)標(biāo)簽,16個(gè)按鈕和85張圖片(方法)包括1個(gè)函數(shù)進(jìn)行組件的添加和布局的設(shè)置,4個(gè)按鈕的點(diǎn)擊事件函數(shù),1個(gè)計(jì)時(shí)器的計(jì)時(shí)事件其他:還有每個(gè)窗口中的字體的設(shè)置,面板位置的設(shè)置,等4.2源代碼importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.

12、sql.*;importjavax.swing.*;publicclassTestMyListenner1myListenner1=newMyListenner1();MyListenner2myListenner2=newMyListenner2();MyListenner3myListenner3=newMyListenner3();MyListenner4myListenner4=newMyListenner4();MyListenner5myListenner5=newMyListenner5();MyListennerFanHuimyListenner18=newMyListenne

13、rFanHui();JFrameframe二newJFrameO;/登錄主窗口JFrameframe2=newJFrameO;/注冊(cè)窗口JFrameframe5=newJFrameO;/注冊(cè)窗口JPanelpane00=newJPanel();/歷史記錄JPanelpane0=newJPanel();JPanelpane1=newJPanel();JPanelpane2=newJPanel();JPanelpane3=newJPanel();JPanelpane4=newJPanel();JPanelpane5=newJPanel();/注冊(cè)界面JPanelpane6=newJPanel();

14、/注冊(cè)界面JPanelpane7=newJPanel();/注冊(cè)界面JPanelpane8=newJPanel();/返回按鈕JButtonbutton7二newJButton(返回);JLabellab二newJLabel(簡(jiǎn)易拼圖游戲);/注冊(cè)界面JLabellab1=newJLabel(游戲開始“);/登錄界面/注冊(cè)JLabellab7二newJLabelC賬號(hào)注冊(cè)界面);JLabellab2=newJLabel(賬號(hào):);/注冊(cè)JLabellab3=newJLabel(密碼:);/zhuceJLabellab4=newJLabel(確認(rèn)密碼:“);JTextFieldtextl二new

15、JTextField(10);/注冊(cè)賬號(hào)JPasswordFieldtext2二newJPasswordField(10);/注冊(cè)密碼JPasswordFieldtext3=newJPasswordField(l0);JButtonbutton6二newJButton(注冊(cè));JLabellab5=newJLabel(賬號(hào));/登錄JLabellab6=newJLabel(密碼);/dengluJButtonbutton2二newJButton(進(jìn)入游戲);JButtonbutton1二newJButton(注冊(cè)賬號(hào));Java語(yǔ)言大作業(yè)報(bào)告JButtonbutton3二newJButton(

16、游戲記錄“);JButtonbutton5二newJButton(退出游戲);JTextFieldtext4二newJTextField(10);/登錄賬號(hào)JPasswordFieldtext5二newJPasswordField(10);/登錄密碼GridLayoutlay1=newGridLayout(2,2,5,3);GridLayoutlay2=newGridLayout(4,2);FlowLayoutlay3=newFlowLayout(FlowLayout.LEFT,15,20);Fontfontl二newFont(楷體,F(xiàn)ont.B0LD,25);Fontfont0二newFon

17、t(楷體,F(xiàn)ont.BOLD,30);intnum=0;intCount=0;inta=0,b=0,c=0,d=0;石家莊鐵道大學(xué)信息學(xué)院軟件工程系版權(quán)所有2016未經(jīng)書面允許不得另作它用。12JFrameframe4=newJFrame();MyListenner1_1mylistenner11=newMyListenner1_1();MyListenner2_1mylistenner12=newMyListenner2_1();MyListenner3_1mylistenner13=newMyListenner3_1();MyListenner4_1mylistenner14=newMyL

18、istenner4_1();MyListenner5_1mylistenner15=newMyListenner5_1();MyTimerlisternermytimerlisterner=newMyTimerlisterner(frame4);MyListennerJilumylistenner16=newMyListennerJilu();JPanelpane1_1=newJPanel();JPanelpane1_2=newJPanel();JPanelpane1_3=newJPanel();JPanelpane1_4=newJPanel();JPanelpane1_5=newJPanel

19、();JPanelpane1_6=newJPanel();Timertimer;/計(jì)時(shí)器/游戲界面按鈕JButtonbuttonl_1二newJButton(開始);JButtonbutton1_2二newJButton(下一張);JButtonbutton1_3二newJButton(暫?!?;JButtonbutton1_4二newJButton(返回);JButtonEmptyButton=newJButton();JButtonbutton_1=newJButton44;/游戲界面標(biāo)簽JLabelYuanTu=newJLabel();JLabelBuShu=newJLabel();JL

20、abelShiJian=newJLabel();JLabelBuShu_num二newJLabel(步數(shù):+Count);JLabelShiJian_num=newJLabel();JLabellabel_time=newJLabel(時(shí)間:+00:00);GridLayoutTuLay=newGridLayout(4,4,0,0);FlowLayoutLeftLay=newFlowLayout(FlowLayout.LEFT,0,15);voidjiLu()intnumber=0;Stringcolname=編號(hào),賬號(hào),時(shí)間,步數(shù),日期;Stringdata=newString105;Con

21、nectionconn=ConnectSql();Stringsql=selectusername,score,countfrom/-*user_info;tryStatementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);while(rs.next()Stringusername=rs.getString(1);Stringscore=rs.getString(2);intcount=rs.getInt(3);Stringnum=+number;Stringcount1=+count;if(count!=0)d

22、atanumber0=num;datanumber1=username;datanumber2=score;datanumber3=count1;datanumber4=;number+;catch(SQLExceptione1)/TODO自動(dòng)生成的catch塊e1.printStackTrace();JTabletable=newJTable(data,colname);table.setEnabled(false);JScrollPanejsPane=newJScrollPane(table);pane00.add(jsPane,BorderLayout.CENTER);frame5.ad

23、d(pane00);privateStringorder()StringexactnessOrder=newString44;for(inti=0;i4;i+)for(intj=0;j4;j+)exactnessOrderij=image/+num+i+j+.jpg;returnexactnessOrder;/隨機(jī)生成無序的圖片給每個(gè)按鈕privateStringreorder()StringexactnessOrder=newString44;for(inti=0;i4;i+)for(intj=0;j4;j+)exactnessOrderij=image/+num+i+j+.jpg;Stri

24、ngstochasticOrder=newString44;for(inti=0;i4;i+)for(intj=0;j4;j+)while(stochasticOrderij=null)intr=(int)(Math.random()*4);intc=(int)(Math.random()*4);if(exactnessOrderrc!=null)stochasticOrderij=exactnessOrderrc;exactnessOrderrc=null;returnstochasticOrder;/判斷游戲是否完成publicBooleanisSuccess()intflag=1;Str

25、ingexactnessOrder=order();for(inti=0;i4;i+)for(intj=0;j4;j+)if(!button_1ij.getIcon().equals(exactnessOrderij)flag=0;if(flag=0)returnfalse;elsereturntrue;/數(shù)據(jù)庫(kù)連接函數(shù)ConnectionConnectSql()Stringurl=jdbc:mysql:/user?useUnicode=true&characterEncoding=utf-8&useSSL=false;Stringusername=root;Stringpassword=15

26、3478;/加載驅(qū)動(dòng)程序以連接數(shù)據(jù)庫(kù)tryClass.forName(com.mysql.jdbc.Driver);returnDriverManager.getConnection(url,username,password);/捕獲加載驅(qū)動(dòng)程序異常catch(ClassNotFoundExceptioncnfex)System.err.println(裝載JDBC/ODBC驅(qū)動(dòng)程序失敗。);cnfex.printStackTrace();catch(SQLExceptione)System.err.println(無法連接到數(shù)據(jù)庫(kù)。);e.printStackTrace();returnn

27、ull;voidCreateTable()Connectionconn=ConnectSql();Stringsql=createtableuser_info(usernamevarchar(255),passwordvarchar(255),scoreint);Statementstmt;trystmt=conn.createStatement();stmt.execute(sql);catch(SQLExceptione)/TODO自動(dòng)生成的catch塊e.printStackTrace();Test()button1.addActionListener(myListenner1);pan

28、e0.setBounds(100,20,350,60);pane0.add(lab);lab.setFont(font0);pane0.setLayout(lay3);pane1.setBounds(135,110,200,100);pane1.add(lab5);pane1.add(text4);lab5.setFont(font1);pane1.add(lab6);lab6.setFont(font1);pane1.add(text5);pane1.setLayout(lay3);pane2.setBounds(100,250,250,70);pane2.setLayout(lay3);p

29、ane2.add(button1);pane2.add(button2);button2.addActionListener(myListenner2);pane3.setBounds(360,230,110,120);pane3.add(button3);pane3.add(button5);button5.addActionListener(myListenner5);pane3.setLayout(lay3);frame.add(pane0);frame.add(pane1);frame.add(pane2);frame.add(pane3);frame.add(pane4);pane6

30、.setBounds(130,0,200,50);pane6.add(lab7);lab7.setFont(font1);pane5.setBounds(80,100,280,150);pane5.add(lab2);pane5.add(text1);lab2.setFont(font1);pane5.add(lab3);lab3.setFont(font1);pane5.add(text2);pane5.add(lab4);lab4.setFont(font1);pane5.add(text3);pane5.setLayout(lay3);pane7.setBounds(130,280,20

31、0,50);pane7.add(button6);button6.addActionListener(myListenner3);pane8.setBounds(3,0,100,50);pane8.add(button7);button7.addActionListener(myListenner4);frame2.add(pane5);frame2.add(pane6);frame2.add(pane7);frame2.add(pane8);frame2.add(pane4);frame2.setTitle(賬號(hào)注冊(cè)“);frame2.setVisible(false);frame2.set

32、Size(500,400);frame2.setLocation(440,200);frame.setTitle(“拼圖游戲“);frame.setVisible(true);frame.setSize(500,400);frame.setLocation(440,200);frame5.setTitle(游戲記錄“);frame5.setSize(500,400);frame5.setLocation(550,220);num+YuanTu.setIcon(newImageIcon(image/+model.jpg);pane1_2.add(YuanTu);pane1_2.setBounds

33、(0,340,150,150);pane1_4.add(BuShu_num);pane1_4.add(label_time);pane1_4.setBounds(200,350,200,100);pane1_4.setLayout(lay3);pane1_3.setLayout(LeftLay);pane1_3.setBounds(350,10,100,200);pane1_3.add(button1_1);pane1_3.add(button1_2);pane1_3.add(button1_3);pane1_3.add(button1_4);timer=newTimer(1000,mytim

34、erlisterner);button1_1.addActionListener(mylistenner11);button1_2.addActionListener(mylistenner13);button1_3.addActionListener(mylistenner14);button1_3.setEnabled(false);BuShu_num.setFont(font1);label_time.setFont(font1);pane1_1.setBounds(0,0,340,340);pane1_1.setLayout(TuLay);StringexactnessOrder=or

35、der();/初始化的圖片for(inti=0;i4;i+)for(intj=0;j4;j+)button_1ij=newJButton();button_1ij.setName(i+j);button_1ij.setIcon(newImageIcon(exactnessOrderij);if(exactnessOrderij.equals(image/+num+00.jpg)EmptyButton=button_1ij;/button.addActionListener(newImgButtonAction();pane1_1.add(button_1ij);button3.addActio

36、nListener(mylistenner16);button1_4.addActionListener(myListenner18);frame4.add(pane1_1);frame4.add(pane1_2);frame4.add(pane1_3);frame4.add(pane1_4);frame4.add(pane1_5);frame4.add(pane1_6);frame4.setVisible(false);frame4.setSize(480,560);frame4.setLocation(550,150);publicstaticvoidmain(Stringargs)Tes

37、ttest=newTest();classMyListenner1implementsActionListenerpublicvoidactionPerformed(ActionEvente)frame.setVisible(false);frame2.setVisible(true);classMyListenner2implementsActionListenerpublicvoidactionPerformed(ActionEvente)StringUser=text4.getText();StringPassWord=text5.getText();intflag=0;Connecti

38、onconn=ConnectSql();fromStringsql=selectusername,password/-*user_info;tryStatementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);while(rs.next()Stringusername=rs.getString(1);Stringpassword=rs.getString(2);if(username.equals(User)&password.equals(PassWord)flag=1;break;catch(SQLExcept

39、ione1)/TODO自動(dòng)生成的catch塊e1.printStackTrace();if(text4.getText().length()=0)JOptionPane.showMessageDialog(frame,請(qǐng)輸入賬號(hào)!);elseif(text5.getText().length()=0)JOptionPane.showMessageDialog(frame,請(qǐng)輸入密碼!);elseif(flag=0)JOptionPane.showMessageDialog(frame,用戶名或密碼錯(cuò)誤!);elseframe4.setVisible(true);frame4.setTitle(

40、拼圖游戲+用戶:+text4.getText()+狀態(tài):已登錄);frame.setVisible(false);classMyListenner3implementsActionListenerpublicvoidactionPerformed(ActionEvente)StringUser=text1.getText();StringPassWord=text2.getText();StringPassWord2=text3.getText();if(User.length()=0)JOptionPane.showMessageDialog(frame,賬號(hào)不能為空!);elseif(Pa

41、ssWord.length()=0)JOptionPane.showMessageDialog(frame,請(qǐng)輸入密碼!);elseif(PassWord2.length()=0)JOptionPane.showMessageDialog(frame,請(qǐng)?jiān)俅屋斎朊艽a!);elseif(!PassWord.equals(PassWord2)JOptionPane.showMessageDialog(frame,兩次密碼輸入前后不一致);elseConnectionconn=ConnectSql();Stringsql=insertintouser_info(username,password)v

42、alues(+User+,+PassWord+);Statementstmt;trystmt=conn.createStatement();stmt.execute(sql);catch(Exceptione1)/e1.printStackTrace();finallyJOptionPane.showMessageDialog(frame,注冊(cè)成功!);text1.setText(null);text2.setText(null);text3.setText(null);classMyListenner4implementsActionListenerpublicvoidactionPerfo

43、rmed(ActionEvente)frame.setVisible(true);frame2.setVisible(false);classMyListenner5implementsActionListenerpublicvoidactionPerformed(ActionEvente)intn=JOptionPane.showConfirmDialog(null,確定退出游戲嗎?,退出游戲,JOptionPane.YES_NO_OPTION);if(n=JOptionPane.YES_OPTION)frame.dispose();/開始排列classMyListenner1_1imple

44、mentsActionListenerpublicvoidactionPerformed(ActionEventarg0)a=0;b=0;c=0;d=0;timer.start();button1_3.setEnabled(true);StringstochasticOrder=reorder();for(inti=0;i4;i+)for(intj=0;j4;j+)button_1ij.addActionListener(mylistenner12);button_1ij.setIcon(newImageIcon(stochasticOrderij);if(stochasticOrderij.

45、equals(image/+num+00.jpg)EmptyButton=button_1ij;button1_1.setEnabled(false);/拼圖移動(dòng)事件classMyListenner2_1implementsActionListenerpublicvoidactionPerformed(ActionEvente)/StringemptyName=EmptyButton.getName();charemptyRow=emptyName.charAt(0);charemptyCol=emptyName.charAt(1);JButtonclickButton=(JButton)e.

46、getSource();StringclickName=clickButton.getName();charclickRow=clickName.charAt(0);charclickCol=clickName.charAt(1);System.out.println(emptyRow+emptyCol);System.out.println(clickRow+clickCol);if(Math.abs(clickRow-emptyRow)+Math.abs(clickCol-emptyCol)=1)EmptyButton.setIcon(clickButton.getIcon();click

47、Button.setIcon(newImageIcon(image/+num+00.jpg);EmptyButton=clickButton;Count+;BuShu_num.setText(步數(shù):+Count);if(isSuccess()JOptionPane.showMessageDialog(frame4,恭喜您過關(guān)!);/過關(guān)后會(huì)把該用戶所用時(shí)間讀入數(shù)據(jù)庫(kù)Connectionconn=ConnectSql();Stringsql1=UPDATEuser_infoSETscore=+d+c+:+b+a+WHEREusername=+text4.getText()+;Stringsql2=UPDATEuser_infoSETcount=+Count+WHEREusername=+text4.getText()+;tryStatementstmt=conn.createStatement();stmt.executeUpdate(sql1);stmt.executeUpdate(sql2);catch(SQLExceptione1)/TODO自動(dòng)生成的catch塊e1.pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論