版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 成都信息工程學(xué)院</b></p><p><b> 學(xué)位論文</b></p><p> 五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 論文作者姓名:</p><p> 申請學(xué)位專業(yè):</p><p> 申請學(xué)位類別:工學(xué)學(xué)士</
2、p><p> 指導(dǎo)教師姓名(職稱):</p><p> 論文提交日期:</p><p> 五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 摘 要</b></p><p> 在現(xiàn)代社會(huì)中,手機(jī)及其它無線設(shè)備越來越多的走進(jìn)普通老百姓的工作和生活。</p><
3、p> 隨著3G技術(shù)的普及與應(yīng)用,基于Java開發(fā)的軟件在手機(jī)上的使用非常的廣泛,手機(jī)增值服務(wù)的內(nèi)容也是越來越多,對豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。</p><p> 本文基于J2ME技術(shù),以計(jì)算機(jī)網(wǎng)絡(luò)游戲的運(yùn)行流程為基礎(chǔ),分模塊開發(fā)一款網(wǎng)絡(luò)五子棋游戲軟件。</p><p> 本文對以下幾點(diǎn)內(nèi)容做了重點(diǎn)研究和探討:</p><p>&
4、lt;b> 系統(tǒng)整體結(jié)構(gòu)。</b></p><p> 根據(jù)設(shè)計(jì)目標(biāo),結(jié)合普通網(wǎng)絡(luò)游戲的運(yùn)行流程,給出了系統(tǒng)總體設(shè)計(jì)方案,并探討了系統(tǒng)設(shè)計(jì)時(shí)需要用到的關(guān)鍵技術(shù)。</p><p> 手機(jī)MIDP客戶端的實(shí)現(xiàn)。</p><p> MIDP客戶端是游戲的唯一客戶端,主要功能包括連接服務(wù)器進(jìn)行身份驗(yàn)證、進(jìn)行游戲并不斷的與服務(wù)器交換數(shù)據(jù)。</p&
5、gt;<p> 后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。</p><p> 后臺(tái)用來處理與數(shù)據(jù)庫的互聯(lián)來驗(yàn)證用戶身份、處理由客戶端發(fā)送過來的數(shù)據(jù)。</p><p> 由于受到客觀條件的限制,本系統(tǒng)的測試是在三星手機(jī)模擬器上完成的,但它仍不失具一定的實(shí)用價(jià)值。</p><p> 關(guān)鍵詞:J2ME;手機(jī)游戲;servlet</p><p>
6、 The design and implementation of gobang battle cell phone network games</p><p><b> Abstract</b></p><p> In modern society, more and more cell phones and other wireless devices com
7、e into the work and life of ordinary people. </p><p> With the popularization and application of the 3rd Generation of Digital communication technology,the development of Java-based software in the use of
8、mobile phones is very broad, mobile value-added services are more and more. It plays an import role to enrich people's lives and provide easier access to information.</p><p> Based on J2ME technology an
9、d a computer network running game flow, sub-module developing gobang game software on-line.</p><p> In this paper, the following points as a focus of study and research:</p><p> 1、The overall
10、system structure. According to the design goals, with the general operation of the network game flow, gives the system design, and explores the key technology, which is used by the design of this system.</p><p
11、> 2 、The realization of the phone MIDP client. MIDP client is the only game client, the main functions include connecting the server to check the status, playing games and keeping the exchange of data with the server
12、. </p><p> 3.、The implementation and design of background system. Background is to deal with the Internet database to verify the identity of users, processing the data, which are sent by the clients.</p
13、><p> Due to the restrictions of objective conditions, the system's test completed in the Samsung handset simulator. But it is contrasted with a certain degree of practical value. .</p><p> K
14、ey words: J2ME; handset game; servlet</p><p><b> 目 錄</b></p><p> 論文總頁數(shù) :24頁</p><p><b> 1引言1</b></p><p><b> 2系統(tǒng)綜述1</b><
15、;/p><p> 3手機(jī)游戲的現(xiàn)狀和關(guān)鍵技術(shù)介紹2</p><p><b> 3.1軟件現(xiàn)狀2</b></p><p> 3.2 J2ME概況2</p><p> 3.2.1 J2ME的由來2</p><p> 3.2.2 J2ME的3層體系結(jié)構(gòu)及MIDP簡介3</p>
16、<p> 3.3 tomcat服務(wù)器介紹4</p><p> 3.4 servlet技術(shù)介紹5</p><p> 4 開發(fā)環(huán)境介紹7</p><p><b> 4.1開發(fā)環(huán)境7</b></p><p> 4.2 關(guān)于SAMSUNG Wireless Tool Kit7</p>
17、<p> 5 客戶端模塊的開發(fā)7</p><p><b> 5.1 綜述7</b></p><p> 5.2 程序的類結(jié)構(gòu)7</p><p> 5.3 游戲的功能流程圖8</p><p> 5.4 游戲的實(shí)現(xiàn)9</p><p> 5.4.1 主類Omok的實(shí)現(xiàn)
18、9</p><p> 5.4.2 游戲登錄界面以及操作說明界面的實(shí)現(xiàn)10</p><p> 5.4.3游戲畫布類的實(shí)現(xiàn)12</p><p> 5.4.4網(wǎng)絡(luò)連接類的實(shí)現(xiàn)14</p><p> 5.4.5五子棋獲勝算法15</p><p> 6服務(wù)器端程序的開發(fā)17</p><p&
19、gt; 6.1數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)17</p><p> 6.2 servlet程序的編寫17</p><p> 7改進(jìn)建議和措施20</p><p> 7.1關(guān)于圖片問題20</p><p> 7.2軟件測試20</p><p> 7.2.1測試前的準(zhǔn)備工作20</p><p
20、> 7.2.2進(jìn)行測試21</p><p> 7.2.3有待添加和完善的功能22</p><p><b> 結(jié) 論22</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 致 謝23</b></p>
21、<p><b> 聲 明24</b></p><p><b> 1引言</b></p><p> Java語言是美國Sun Microsystem的James Gosling、Pratrick Naughton及Mike Sheridan等人于1991年精心設(shè)計(jì)出來的計(jì)算機(jī)編程語言,其構(gòu)想在于實(shí)現(xiàn)使用同一種編程語言所寫
22、出來的程序可以在不同的平臺(tái)上運(yùn)作。這種架構(gòu)對于消費(fèi)性電子產(chǎn)品而言是具有革命性的,因?yàn)樵谙M(fèi)性電子產(chǎn)品中的處理器及操作系統(tǒng)各不相同,要在這些平臺(tái)上開發(fā)程序必須要了解各個(gè)平臺(tái)的特性,以及其提供的API使用方式,分別開發(fā)不同的版本才能執(zhí)行,影響應(yīng)用程序的普及性。</p><p> 近幾年,由于微處理器性能的大幅提升,加上無線通訊技術(shù)的突破,手持式移動(dòng)設(shè)備開始受到大眾的青睞。短短幾年內(nèi),手機(jī)已經(jīng)升級(jí)了幾代產(chǎn)品,普及率逐
23、年攀升,生產(chǎn)效率不斷上升,產(chǎn)品價(jià)格比個(gè)人電腦的摩爾定律有更驚人的下調(diào),以至手機(jī)是大多是城市居民不可缺少的一件隨身設(shè)備。繼短信、彩信等服務(wù)之后,中國移動(dòng)提供基于Java的百寶箱業(yè)務(wù),應(yīng)用產(chǎn)品遍及商務(wù)應(yīng)用、信息獲取、英漢互譯、游戲娛樂等多媒體領(lǐng)域。</p><p> 為了適應(yīng)移動(dòng)數(shù)據(jù)的發(fā)展,推動(dòng)無線電子商務(wù)等業(yè)務(wù)的發(fā)展,J2ME(Java 2 Micro Edition)既用于嵌入式系統(tǒng)的Java被引入無線領(lǐng)域。J
24、2ME的出現(xiàn)實(shí)際上是Java技術(shù)的回歸。作為Java2平臺(tái)的一部分,J2ME與J2SE、J2EE一起,為無線應(yīng)用的客戶端和服務(wù)器端建立了完整的開發(fā)、部署環(huán)境。隨著J2ME的應(yīng)用,它為移動(dòng)互聯(lián)引入了一種新的模型,既允許手機(jī)可以從互聯(lián)網(wǎng)上下載各種應(yīng)用程序,并在手機(jī)創(chuàng)造可執(zhí)行環(huán)境離線運(yùn)行這些程序。由于定義了可執(zhí)行下載的標(biāo)準(zhǔn),并在手機(jī)上創(chuàng)立了可執(zhí)行環(huán)境和程序開發(fā)語言,由此,在移動(dòng)通信業(yè)第一次為軟件開發(fā)商創(chuàng)造了巨大的商業(yè)機(jī)會(huì),手機(jī)用戶在得到豐富應(yīng)
25、用體驗(yàn)的同時(shí),也大大提高了運(yùn)營商的網(wǎng)絡(luò)流量。</p><p><b> 2系統(tǒng)綜述</b></p><p> 本系統(tǒng)采用C/S結(jié)構(gòu),包括手機(jī)客戶端和服務(wù)器后臺(tái)兩個(gè)部分。</p><p> 客戶端采用j2me midp1.0函數(shù)編寫,保證了非常好的可移植性。服務(wù)器端采用了tomcat作為http服務(wù)器,免費(fèi)并且具有非常強(qiáng)大的功能,中間件采用
26、java servlet進(jìn)行中間過程的處理,具有很好的穩(wěn)定性和可移植性,采用的數(shù)據(jù)庫則是sql server 2000。</p><p> 用戶需要運(yùn)行本系統(tǒng)客戶端軟件,輸入用戶名和密碼進(jìn)行身份驗(yàn)證,如果驗(yàn)證成功,則可以進(jìn)入游戲界面,和其他已經(jīng)登錄的玩家進(jìn)行游戲;如果驗(yàn)證不成功,說明輸入的用戶名或者密碼錯(cuò)誤,需要重新進(jìn)行輸入,否則不會(huì)進(jìn)入到游戲界面。</p><p> 系統(tǒng)分為三層,包
27、括數(shù)據(jù)庫服務(wù)器層、功能層和表示層。數(shù)據(jù)庫服務(wù)器層主體是SQL2000,功能層由Tomcat+ servlet技術(shù)實(shí)現(xiàn),表示層為前臺(tái)手機(jī)操作客戶端.總體結(jié)構(gòu)如下圖所視:</p><p><b> 圖1 總體結(jié)構(gòu)圖</b></p><p> 3手機(jī)游戲的現(xiàn)狀和關(guān)鍵技術(shù)介紹</p><p><b> 3.1軟件現(xiàn)狀</b>
28、</p><p> 在信息社會(huì)中,手機(jī)及其他無線設(shè)備越來越多的走進(jìn)普通百姓的工作和生活,隨著信息網(wǎng)絡(luò)化的不斷進(jìn)展,手機(jī)及其他無線設(shè)備上網(wǎng)絡(luò)勢在必行。但是傳統(tǒng)手機(jī)存在以下弊端:</p><p> 1. 傳統(tǒng)手機(jī)出廠時(shí)均由硬件廠商固化程序,程序不能增加、刪除,有了錯(cuò)誤也不能更新、修改,若要增加新功能必須另換一部手機(jī)。</p><p> 2. 傳統(tǒng)手機(jī)訪問互聯(lián)網(wǎng)
29、是通過WAP(Wireless Application Protocal),所有網(wǎng)絡(luò)資源必須接通網(wǎng)絡(luò)才能在線訪問,非常耗時(shí)、費(fèi)用亦很高。</p><p> 而Java技術(shù)在無線應(yīng)用方面的優(yōu)勢非常明顯:</p><p> 1. 應(yīng)用程序可按需下載,而不是購買由硬件商提供的套件,可升級(jí)空大。</p><p> 2. Java技術(shù)提供了一個(gè)類庫,它使的應(yīng)用開發(fā)商
30、可以創(chuàng)建更為直覺、豐富的用戶界面(GUI);</p><p> 3.Java技術(shù)使網(wǎng)絡(luò)帶寬的應(yīng)用更為有效,因?yàn)閼?yīng)用程序可以下載到器件上,并在本地運(yùn)行,僅僅是在連接到服務(wù)器時(shí)才會(huì)占用網(wǎng)絡(luò)帶寬。</p><p> 3.2 J2ME概況</p><p> 3.2.1 J2ME的由來</p><p> Java的最大目標(biāo)和特點(diǎn),就是"
31、;一次編寫,到處運(yùn)行"的平臺(tái)無關(guān)性。但是,一套標(biāo)準(zhǔn)無法適應(yīng)各種不同的需求。因此,Java技術(shù)目前共有三套,分別針對不同的平臺(tái)和應(yīng)用。</p><p> Standard Edition(J2SE,標(biāo)準(zhǔn)版):針對桌面端PC和工作站的個(gè)人和低端商務(wù)應(yīng)用。 </p><p> Enterprise Edition(J2EE,企業(yè)版):針對服務(wù)器端企業(yè)級(jí)應(yīng)用,支持Servlets,
32、JSP和XML等等。</p><p> Micro Edition(J2ME,袖珍版):針對有限內(nèi)存,顯示和處理能力的設(shè)備,主要是消費(fèi)電子和嵌入式設(shè)備領(lǐng)域(這實(shí)際正是Java語言設(shè)計(jì)最初的目標(biāo)領(lǐng)域)。</p><p> 圖2 java總體架構(gòu)圖</p><p> 在消費(fèi)電子和嵌入式設(shè)備領(lǐng)域,內(nèi)存從幾百K到幾十M,從沒有屏幕到Web-TV,CPU從低功耗的嵌入式
33、處理器到206MHz的RISC處理器,硬件條件的差異是相當(dāng)大的。這就使得J2ME的標(biāo)準(zhǔn)需要有不同的層次和類別來適應(yīng)這個(gè)復(fù)雜的領(lǐng)域,因此相比之下J2ME就比J2SE和J2EE的標(biāo)準(zhǔn)要復(fù)雜得多。因此,清楚的理解J2ME的體系結(jié)構(gòu)的劃分才能更好的理解和掌握J(rèn)2ME。</p><p> 3.2.2 J2ME的3層體系結(jié)構(gòu)及MIDP簡介</p><p> J2ME的3層體系結(jié)構(gòu)依照各種設(shè)備的資源
34、特性,將J2ME技術(shù)構(gòu)架分為簡表(Profile)、配置(Configuration)和Java Virtual Machine(JVM)3層,然后再進(jìn)一步細(xì)分,這使J2ME能夠在每一類設(shè)備的限制下工作,而同時(shí)提供最低限度的Java語言功能性。</p><p> 關(guān)于J2ME的體系結(jié)構(gòu),可以這樣來進(jìn)行總結(jié):Configuration的分類是根據(jù)計(jì)算能力的不同來劃分的,同類設(shè)備的計(jì)算能力相近。Configurat
35、ion是一個(gè)規(guī)范,定義了這類設(shè)備的共同Java平臺(tái),定義與設(shè)備無關(guān)的Java虛擬機(jī)和核心庫,是平臺(tái)相容性的基礎(chǔ)。Profile的分類是根據(jù)設(shè)備功能劃分的,同類功能的設(shè)備其他各種硬件條件和需求也相近。Profile是一組API,在某一Configuration的基礎(chǔ)上擴(kuò)展了針對設(shè)備特定功能的API,使得標(biāo)準(zhǔn)能夠完全適應(yīng)特殊的設(shè)備,徹底發(fā)揮設(shè)備的功能。</p><p> J2ME體系的一般結(jié)構(gòu)是:由Configur
36、ation定義的Java虛擬機(jī)運(yùn)行于設(shè)備的宿主操作系統(tǒng)之上,構(gòu)成整個(gè)平臺(tái)的基礎(chǔ)。Configuration提供了基本的語言特性,Profile提供針對設(shè)備的特殊功能API和擴(kuò)展類庫。應(yīng)用程序的運(yùn)行環(huán)境需要一個(gè)Configuration和至少一個(gè)Profile,多個(gè)Profile可以共存,也可以疊加。</p><p> MIDP(Mobile Information Device Profile)定義了針對移動(dòng)信
37、息處理設(shè)備(主要指智能手機(jī)和一部分具有無線通信功能的PDA)的圖形界面,輸入和時(shí)間處理,持久性存儲(chǔ),無線電話網(wǎng)絡(luò)連接之上的一些消息處理(例如短消息),安全等等API,并且考慮到了移動(dòng)信息設(shè)備的屏幕和內(nèi)存限制。類似于J2SE中的Applet框架,MIDP提供了基于javax.microedition.midlet 包的MIDlet應(yīng)用程序框架。</p><p> 應(yīng)為MIDP提出較的比較早,目前重要的智能手機(jī)和P
38、DA操作系統(tǒng)上都已有了相應(yīng)的實(shí)現(xiàn),而且應(yīng)用的也比較廣泛。 </p><p> 3.3 tomcat服務(wù)器介紹</p><p> Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。To
39、mcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。 </p><p> 由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄
40、下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH
41、中,但那樣移植和管理起來不方便。 </p><p> 在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼
42、,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。 </p><p> Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和
43、Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。 </p><p> 基于Tomcat的開發(fā)其實(shí)主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡單,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。 </p><p> Tomcat確實(shí)是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性。</p>&
44、lt;p> 3.4 servlet技術(shù)介紹</p><p> Servlet是用Java編寫的Server端程序,它與協(xié)議和平臺(tái)無關(guān)。Servlet運(yùn)行于Java-enabled Web Server中。Java Servlet可以動(dòng)態(tài)地?cái)U(kuò)展Server的能力,并采用請求-響應(yīng)模式提供Web服務(wù)。 </p><p> 最早支持Servlet技術(shù)的是JavaSoft的Java W
45、eb Server。此后,一些其它的基于Java的Web Server開始支持標(biāo)準(zhǔn)的Servlet API。 </p><p> 一、Servlet的特點(diǎn)</p><p> Servlet是Java技術(shù)對CGI編程的回答。Servlet程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁面。與傳統(tǒng)的CGI和許多其他類似CGI的技術(shù)相比,Java Servlet具有更高的效率,更容易使用,功能更強(qiáng)大,
46、具有更好的可移植性,更節(jié)省投資。</p><p><b> 1、高效 </b></p><p> 在傳統(tǒng)的CGI中,每個(gè)請求都要啟動(dòng)一個(gè)新的進(jìn)程,如果CGI程序本身的執(zhí)行時(shí)間較短,啟動(dòng)進(jìn)程所需要的開銷很可能反而超過實(shí)際執(zhí)行時(shí)間。而在 Servlet中,每個(gè)請求由一個(gè)輕量級(jí)的Java線程處理(而不是重量級(jí)的操作系統(tǒng)進(jìn)程)。在傳統(tǒng)CGI中,如果有N個(gè)并發(fā)的對同一CGI
47、程序的請求,則該CGI程序的代碼在內(nèi)存中重復(fù)裝載了N次;而對于Servlet,處理請求的是N個(gè)線程,只需要一份Servlet類代碼。在性能優(yōu)化方面,Servlet也比CGI有著更多的選擇,比如緩沖以前的計(jì)算結(jié)果,保持?jǐn)?shù)據(jù)庫連接的活動(dòng),等等。 </p><p><b> 2、方便 </b></p><p> Servlet提供了大量的實(shí)用工具例程,例如自動(dòng)地解析和解
48、碼HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭、處理Cookie、跟蹤會(huì)話狀態(tài)等。 </p><p><b> 3、功能強(qiáng)大 </b></p><p> 在Servlet中,許多使用傳統(tǒng)CGI程序很難完成的任務(wù)都可以輕松地完成。例如,Servlet能夠直接和Web服務(wù)器交互,而普通的CGI程序不能。Servlet還能夠在各個(gè)程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很
49、容易實(shí)現(xiàn)。 </p><p><b> 4、可移植性好 </b></p><p> Servlet用Java編寫,Servlet API具有完善的標(biāo)準(zhǔn)。因此,為I-Planet Enterprise Server寫的Servlet無需任何實(shí)質(zhì)上的改動(dòng)即可移植到Apache、Microsoft IIS或者WebStar。幾乎所有的主流服務(wù)器都直接或通過插件支持Ser
50、vlet。 </p><p><b> 5、節(jié)省投資 </b></p><p> 不僅有許多廉價(jià)甚至免費(fèi)的Web服務(wù)器可供個(gè)人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務(wù)器,如果它不支持Servlet的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資)。 </p><p> 二、Servlet的主要功能 </p><p&
51、gt; Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。這個(gè)過程為: </p><p> 客戶端發(fā)送請求至服務(wù)器端; </p><p> 服務(wù)器將請求信息發(fā)送至Servlet;</p><p> Servlet生成響應(yīng)內(nèi)容并將其傳給Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請求; </p><p>
52、服務(wù)器將響應(yīng)返回給客戶端; </p><p> Servlet看起來像是通常的Java程序。Servlet導(dǎo)入特定的屬于Java Servlet API的包。因?yàn)槭菍ο笞止?jié)碼,可動(dòng)態(tài)地從網(wǎng)絡(luò)加載,可以說Servlet對Server就如同Applet對Client一樣,但是,由于 Servlet運(yùn)行于Server中,它們并不需要一個(gè)圖形用戶界面。從這個(gè)角度講,Servlet也被稱為Faceless Object。
53、</p><p> 三、JAVA Servlet的優(yōu)勢 </p><p> Servlet可以和其他資源(文件、數(shù)據(jù)庫、Applet、Java應(yīng)用程序等)交互,以生成返回給客戶端的響應(yīng)內(nèi)容。如果需要,還可以保存請求-響應(yīng)過程中的信息。 </p><p> 采用Servlet,服務(wù)器可以完全授權(quán)對本地資源的訪問(如數(shù)據(jù)庫),并且Servlet自身將會(huì)控制外部用戶
54、的訪問數(shù)量及訪問性質(zhì)。 </p><p> Servlet可以是其它服務(wù)的客戶端程序,例如,它們可以用于分布式的應(yīng)用系統(tǒng)中,可以從本地硬盤,或者通過網(wǎng)絡(luò)從遠(yuǎn)端硬盤激活Servlet。 </p><p> 采用Servlet Tag技術(shù),可以在HTML頁面中動(dòng)態(tài)調(diào)用Servlet。 Servlet API與協(xié)議無關(guān)。它并不對傳遞它的協(xié)議有任何假設(shè)。 像所有的Java程序一樣,Servle
55、t擁有面向?qū)ο驤ava語言的所有優(yōu)勢 Servlet提供了Java應(yīng)用程序的所有優(yōu)勢——可移植、穩(wěn)健、易開發(fā)。使用Servlet 的Tag技術(shù),Servlet能夠生成嵌于靜態(tài)HTML頁面中的動(dòng)態(tài)內(nèi)容。 一個(gè)Servlet被客戶端發(fā)送的第一個(gè)請求激活,然后它將繼續(xù)運(yùn)行于后臺(tái),等待以后的請求。每個(gè)請求將生成一個(gè)新的線程,而不是一個(gè)完整的進(jìn)程。多個(gè)客戶能夠在同一個(gè)進(jìn)程中同時(shí)得到服務(wù)。一般來說,Servlet進(jìn)程只是在Web Server卸載時(shí)
56、被卸載。 </p><p><b> 4 開發(fā)環(huán)境介紹 </b></p><p><b> 4.1開發(fā)環(huán)境</b></p><p> 操作系統(tǒng):Microsoft Windows XP</p><p> 程序語言:Java 2</p><p> 開發(fā)平臺(tái):Java
57、 2 Micro Edition + Tomcat 5.0</p><p> 開發(fā)工具: SAMSUNG Wireless Tool Kit 2.1+ eclipse3.0.1</p><p> 4.2 關(guān)于SAMSUNG Wireless Tool Kit</p><p> SAMSUNG WTK(SAMSUNG Wireless Tool Kit)是SAM
58、SUNG公司針對J2ME推出的用于手機(jī)和Palm等移動(dòng)設(shè)備的軟件開發(fā)包,它通用性高,開發(fā)出的應(yīng)用程序可保證能運(yùn)行在大部分設(shè)備上,具有強(qiáng)大的功能和完善的調(diào)試手段,它提供了運(yùn)行模擬器的最基本組件,是其他IDE需集成采用的必備元素,也可以單獨(dú)使用。</p><p> 5 客戶端模塊的開發(fā)</p><p><b> 5.1 綜述</b></p><p&
59、gt; 客戶端部分主要?jiǎng)澐譃?個(gè)界面:菜單界面,登錄界面、游戲界面。</p><p> 具體實(shí)現(xiàn)的功能為: </p><p> 1、菜單界面:有如下選項(xiàng):</p><p> 進(jìn)入游戲——進(jìn)入到用戶登錄界面;</p><p> 操作說明——進(jìn)入說明界面,說明游戲軟件的操作方法;</p><p><b>
60、; 2、登錄界面:</b></p><p> 得到用戶輸入的用戶名和密碼,向服務(wù)器提交,如果身份驗(yàn)證成功,界面則跳轉(zhuǎn)到游戲界面,如果身份驗(yàn)證失敗,則彈出警告窗口,說明登錄失敗原因。</p><p><b> 3、游戲界面:</b></p><p> 用戶游戲時(shí)看到的界面,負(fù)責(zé)根據(jù)需要畫圖。</p><p&
61、gt; 5.2 程序的類結(jié)構(gòu)</p><p> 程序一共有7個(gè)類,程序的類結(jié)構(gòu)如圖所示:</p><p><b> 圖3類結(jié)構(gòu)圖</b></p><p> 5.3 游戲的功能流程圖</p><p> 進(jìn)入游戲后,首先顯示的是菜單,有2個(gè)命令選項(xiàng):進(jìn)入游戲和操作說明;一個(gè)按鈕:退出程序。選擇進(jìn)入游戲這個(gè)命令,則進(jìn)
62、入到用戶登錄窗口,如果登錄成功,則跳轉(zhuǎn)到游戲界面,如果登錄失敗,則跳出警告窗口,3秒后返回到登錄窗口。也可以從登錄窗口退出程序。如果選擇操作說明命令,則顯示操作說明界面,按返回按鈕,又回來主菜單。游戲的功能流程如圖所示</p><p><b> 圖4功能流程圖</b></p><p><b> 5.4 游戲的實(shí)現(xiàn)</b></p>
63、<p> 5.4.1 主類Omok的實(shí)現(xiàn)</p><p> MIDlet是最核心的類。MIDlet程序有三種狀態(tài):</p><p><b> 1、 暫停狀態(tài)</b></p><p><b> 2、 運(yùn)行狀態(tài)</b></p><p><b> 3、 銷毀狀態(tài)<
64、;/b></p><p> J2ME程序都是從MIDlet類開始執(zhí)行。系統(tǒng)在執(zhí)行MIDlet程序時(shí),首先構(gòu)造一個(gè)MIDlet類型的對象,然后使程序進(jìn)入到暫停狀態(tài),按照生命周期的規(guī)定,系統(tǒng)會(huì)自動(dòng)調(diào)用MIDlet對象的startApp方法使程序進(jìn)入到運(yùn)行狀態(tài),開始程序的執(zhí)行。</p><p><b> 圖5 開始界面</b></p><p&g
65、t; 首先,先要?jiǎng)?chuàng)建MIDlet類型的對象,下面來看對象的構(gòu)造方法:</p><p> public Omok() {</p><p> startCmd = new Command("Start", Command.SCREEN, 2);</p><p> exitCmd = new Command("Exit",
66、 Command.EXIT, 3);</p><p> theCanvas = new OmokCanvas();</p><p> theOne=new main();</p><p> display=Display.getDisplay(this);</p><p> help=new Help(this);</p>
67、;<p> logo=new Logo(this);</p><p> instance=this;</p><p><b> }</b></p><p> 在這個(gè)構(gòu)造器中,創(chuàng)建了一個(gè)Display對象用于顯示,然后,又創(chuàng)建了一個(gè)畫布的實(shí)例。</p><p> Display類有兩個(gè)最主要的作用:
68、</p><p> 1、 獲得屏幕的屬性。例如屏幕是否是彩色的,以及支持的顏色數(shù)量等信息。</p><p> 2、 控制屏幕的顯示。例如使屏幕顯示某個(gè)指定界面或者獲得當(dāng)前的顯示界面等。</p><p> 其中,特別是第二個(gè)作用使用的更加頻繁。</p><p> 當(dāng)程序啟動(dòng)的時(shí)候,則調(diào)用了程序的startApp方法,用來顯示畫面:&
69、lt;/p><p> public void startApp() {</p><p> theCanvas.addCommand(startCmd);</p><p> theCanvas.addCommand(exitCmd);</p><p> theCanvas.setCommandListener(this);</p>
70、;<p> display.setCurrent(theOne);</p><p><b> }</b></p><p> 這個(gè)方法的作用是把在構(gòu)造器中創(chuàng)建的畫布對象設(shè)置為當(dāng)前屏幕上需要顯示的畫面。</p><p> 當(dāng)調(diào)用destroyApp 這個(gè)方法的時(shí)候,則退出程序。</p><p> pu
71、blic void destroyApp(boolean unconditional) </p><p><b> {</b></p><p><b> exit();</b></p><p><b> }</b></p><p> public void exit()
72、 </p><p><b> {</b></p><p> System.gc();</p><p> notifyDestroyed();</p><p><b> }</b></p><p> 退出程序的時(shí)候,要實(shí)行垃圾回收,釋放掉不再使用的內(nèi)存。</p&
73、gt;<p> 5.4.2 游戲登錄界面以及操作說明界面的實(shí)現(xiàn)</p><p> 這兩個(gè)類的實(shí)現(xiàn)都是繼承了Form類,來添加各種組件的。下面是效果圖:</p><p> 圖6 Form界面效果圖</p><p> 下面先來分析logo類:</p><p> class Logo extends Form im
74、plements CommandListener</p><p> 這是類的聲明,它繼承了Form類,同時(shí)派生了一個(gè)接口,用來產(chǎn)生按鈕事件。</p><p> Logo(Omok midlet)</p><p><b> {</b></p><p> super("");</p>
75、<p> this.midlet = midlet;</p><p> UserName=new TextField("用戶名","",9,TextField.ANY);</p><p> UserPassword=new TextField("密 碼","",9,TextField.PA
76、SSWORD);</p><p><b> try{</b></p><p> img=new ImageItem("",Image.createImage("/1.png"),ImageItem.LAYOUT_CENTER,"image explorer");}</p><p>
77、 catch(java.io.IOException e){}</p><p> append(img);</p><p> append(UserName);</p><p> append(UserPassword);</p><p> backCommand = new Command("登錄", Comm
78、and.BACK, 1);</p><p> exit = new Command("退出", Command.EXIT, 1);</p><p> addCommand(backCommand);</p><p> // addCommand(exit);</p><p> setCommandListener(
79、this);</p><p><b> }</b></p><p> 這是他的構(gòu)造方法,創(chuàng)建了2個(gè)輸入框,并添加到Form上,并且還加上了2個(gè)按鈕。</p><p> Help類的實(shí)現(xiàn)和它類似,因此不再詳細(xì)介紹。</p><p> 5.4.3游戲畫布類的實(shí)現(xiàn)</p><p> 在J2ME
80、游戲編程中,Canvas類是最常用的類之一,該類提供了獲得手機(jī)屏幕屬性、繪制界面以及事件處理等很多實(shí)用的功能。</p><p> Canvas類是Displayable的子類,在實(shí)際的使用過程,一般都通過繼承Canvas來利用該類提供的功能。Canvas類是一個(gè)抽象類,繼承該類的時(shí)候必須覆蓋paint方法。來看游戲畫面:</p><p> 圖7 游戲運(yùn)行效果圖</p>&
81、lt;p> 首先先看下它的構(gòu)造方法:</p><p> public OmokCanvas() {</p><p> board = new OmokBoard();//創(chuàng)建畫板</p><p> cursor = new Cursor();//創(chuàng)建光標(biāo)</p><p> connector = new ServerConne
82、ctor(this);</p><p> setGameMode(INIT);//設(shè)置模式</p><p><b> }</b></p><p> 在它里面,創(chuàng)建了畫板,光標(biāo)、連接器。并且設(shè)置了模式。</p><p> 然后來看具有流程控制作用的setGameMode方法:</p><p>
83、; private void setGameMode(int gameMode) {</p><p> this.gameMode = gameMode;</p><p> switch(gameMode) {</p><p> case INIT : </p><p> id0 = id1 = -1;//設(shè)置標(biāo)記變量初始值<
84、/p><p> row = col = 6;//初始化棋盤大小</p><p> board.init();</p><p><b> break;</b></p><p> case CONNECT : </p><p> Thread cthread = new Thread() <
85、;/p><p><b> {</b></p><p> public void run()</p><p><b> {</b></p><p> repaint();</p><p> if(islogin)</p><p> {connec
86、t();</p><p><b> }</b></p><p><b> else </b></p><p> {loginGame();</p><p><b> }</b></p><p><b> }</b><
87、/p><p><b> };</b></p><p> cthread.start();</p><p><b> break;</b></p><p> case TURN0 :</p><p> cursor.setLocation(row, col);</p
88、><p><b> break;</b></p><p> case TURN1 : </p><p> connector.receiveData(id0);</p><p><b> break;</b></p><p><b> }</b>&
89、lt;/p><p> repaint();</p><p><b> }</b></p><p> 在這里面,定義了4種狀態(tài)時(shí)所要處理的事件,在這個(gè)程序中的別的方法里,當(dāng)滿足一定條件的時(shí)候,就開始設(shè)置那些狀態(tài)變量,從而實(shí)現(xiàn)了流程的控制。</p><p> 5.4.4網(wǎng)絡(luò)連接類的實(shí)現(xiàn)</p><p&
90、gt; 在J2ME中,專門提供了一個(gè)網(wǎng)絡(luò)連接框架——GCF。它為資源有限的設(shè)備提供了一個(gè)可擴(kuò)展的、通用的I/O 框架。GCF 是一組在 javax.microedition.io 包中定義的接口。</p><p> 在 GCF 中共定義了七個(gè)接口 ,其中 Connection 是最基本的連接類型,且同時(shí)提供了對數(shù)據(jù)包和流連接的支持。沿著層次結(jié)構(gòu)向下派生出提供更多功能的接口。在MIDP 1.0 規(guī)范只要求設(shè)備支
91、持 HTTP 連接協(xié)議,而更新的 MIDP 2.0 規(guī)范要求同時(shí)支持 HTTP 和 HTTPS,后者提供了對更安全的網(wǎng)絡(luò)連接的支持。</p><p> 下面來分析核心代碼:</p><p><b> //打開連接</b></p><p> private String readPage(String url) throws IOExcep
92、tion {</p><p> StringBuffer result = new StringBuffer();</p><p> HttpConnection c = null;</p><p> InputStream is = null;</p><p><b> try {</b></p>
93、<p> c = (HttpConnection)Connector.open(url);</p><p> is = c.openInputStream();</p><p> int ch = 0;</p><p> while ((ch = is.read()) != -1) {</p><p> result.a
94、ppend((char)ch);</p><p><b> }</b></p><p> } finally {</p><p> if (is != null) is.close();</p><p> if (c != null) c.close();</p><p><b&g
95、t; }</b></p><p> return result.toString();</p><p> 在這個(gè)方法中,首先建立了一個(gè)連接,采用流來得到數(shù)據(jù),當(dāng)數(shù)據(jù)傳輸完畢后,關(guān)閉流,關(guān)閉連接。</p><p> 下面的代碼則是發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的時(shí)候采用多線程:</p><p> public void sendDat
96、a(final int id1, final String data) {</p><p> Thread thread = new Thread() {</p><p> public void run() {</p><p><b> try {</b></p><p> readPage(URL+"
97、;?command=sendData&id="+id1+</p><p> "&data="+data);</p><p> } catch (IOException e) {</p><p><b> }</b></p><p><b> }</b&
98、gt;</p><p><b> };</b></p><p> thread.start();</p><p><b> }</b></p><p> public void receiveData(final int id0) {</p><p> Thread
99、 thread = new Thread() {</p><p> public void run() {</p><p> receive(id0);</p><p><b> }</b></p><p><b> };</b></p><p> thread.s
100、tart();</p><p><b> }</b></p><p> 在目標(biāo)設(shè)備具有內(nèi)存小,計(jì)算能力弱和電池供電等特點(diǎn)的時(shí)候,如何使應(yīng)用程序高效的運(yùn)行就成為開發(fā)中的一個(gè)大問題.尤其針對手機(jī)等移動(dòng)信息設(shè)備時(shí),無線通訊的特點(diǎn)又對我們的程序提出了更高的要求.從代碼優(yōu)化的角度,在網(wǎng)絡(luò)編程中引入多線程就顯得十分重要。</p><p> 當(dāng)程序運(yùn)行
101、的時(shí)候,Application Management Software(應(yīng)用管理軟件)首先初始化一個(gè)MIDlet,然后調(diào)用它的startApp()方法使得MIDlet進(jìn)入active狀態(tài),這條程序分支就是主線程,它執(zhí)行其他的方法后都會(huì)返回到這個(gè)分支上來繼續(xù)執(zhí)行。然而網(wǎng)絡(luò)連接是個(gè)可能堵塞的操作,意味著它可能長時(shí)間都不返回。</p><p> 在三星公司的無線開發(fā)包WTK中模擬一段網(wǎng)絡(luò)連接程序運(yùn)行時(shí),WTK會(huì)提示網(wǎng)
102、絡(luò)連接工作可能會(huì)堵塞用戶輸入,需要?jiǎng)?chuàng)建另外一個(gè)線程去進(jìn)行聯(lián)網(wǎng)操作。所以針對以上情況,采用多線程進(jìn)行實(shí)現(xiàn)。</p><p> 5.4.5五子棋獲勝算法</p><p> 因?yàn)楸鞠到y(tǒng)模擬的重點(diǎn)是網(wǎng)絡(luò)連接,數(shù)據(jù)交互以及怎樣來初步實(shí)現(xiàn)一個(gè)簡單的手機(jī)網(wǎng)絡(luò)游戲,所以對于五子棋游戲的規(guī)則方面并沒有考慮太多,禁手等游戲規(guī)則都沒有考慮,而僅僅實(shí)現(xiàn)了五子棋的獲勝算法,這點(diǎn)是這次畢業(yè)設(shè)計(jì)的很大不足之處。&l
103、t;/p><p> 下面這個(gè)方法就是來實(shí)現(xiàn)五子棋的獲勝算法:</p><p><b> //檢測是否獲勝</b></p><p> public int checkStones() {</p><p> for (int x = 0;x < 11;x++) {</p><p> for
104、 (int y = 0;y < 11;y++) {</p><p> if (stones[x][y] == EMPTY) continue;</p><p><b> //檢查一行</b></p><p> if (x != 0 && x != 1 && x != 10 && x !
105、= 11 &&</p><p> stones[x][y] == stones[x-2][y] &&</p><p> stones[x][y] == stones[x-1][y] &&</p><p> stones[x][y] == stones[x+1][y] &&</p>&
106、lt;p> stones[x][y] == stones[x+2][y])</p><p> return stones[x][y];</p><p><b> //檢查一列</b></p><p> if (y != 0 && y != 1 && y != 10 && y != 1
107、1 &&</p><p> stones[x][y] == stones[x][y-2] &&</p><p> stones[x][y] == stones[x][y-1] &&</p><p> stones[x][y] == stones[x][y+1] &&</p><
108、p> stones[x][y] == stones[x][y+2])</p><p> return stones[x][y];</p><p> //檢查右下方向一列</p><p> if (x != 0 && x != 1 && x != 10 && x != 11 &&</p
109、><p> y != 0 && y != 1 && y != 10 && y != 11 &&</p><p> stones[x][y] == stones[x+2][y+2] &&</p><p> stones[x][y] == stones[x+1][y+1] &&am
110、p;</p><p> stones[x][y] == stones[x-2][y-2] &&</p><p> stones[x][y] == stones[x-1][y-1])</p><p> return stones[x][y];</p><p> //檢查左下方向一列</p><p>
111、; if (x != 0 && x != 1 && x != 10 && x != 11 &&</p><p> y != 0 && y != 1 && y != 10 && y != 11 &&</p><p> stones[x][y] == stone
112、s[x+2][y-2] &&</p><p> stones[x][y] == stones[x+1][y-1] &&</p><p> stones[x][y] == stones[x-2][y+2] &&</p><p> stones[x][y] == stones[x-1][y+1])</p>
113、<p> return stones[x][y];</p><p><b> }</b></p><p><b> }</b></p><p> return -1;</p><p><b> }</b></p><p> 通過
114、在水平,垂直,斜45度方向上進(jìn)行檢測,來判斷是否獲勝。</p><p> 6服務(wù)器端程序的開發(fā)</p><p> 6.1數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 數(shù)據(jù)庫系統(tǒng)是一個(gè)實(shí)際可運(yùn)行的存儲(chǔ)、維護(hù)和應(yīng)用數(shù)據(jù)的軟件系統(tǒng),是存儲(chǔ)介質(zhì)、處理對象和管理系統(tǒng)的集合體。它通常由軟件、數(shù)據(jù)庫和數(shù)據(jù)管理員組成。其軟件主要包括操作系統(tǒng)、各種宿主語言、實(shí)用程序以及數(shù)據(jù)庫管理系統(tǒng)。
115、數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。這些數(shù)據(jù)為多個(gè)應(yīng)用服務(wù),獨(dú)立于具體的應(yīng)用程序。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進(jìn)行。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,它的主要功能是維護(hù)數(shù)據(jù)庫并有效地訪問數(shù)據(jù)庫中任意部分?jǐn)?shù)據(jù)。對數(shù)據(jù)庫的維護(hù)包括保持?jǐn)?shù)據(jù)的完整性、一致性和安全性。 </p><p> 在本系統(tǒng)中,只建立了一個(gè)表users,用來存儲(chǔ)用戶身份信息。&
116、lt;/p><p><b> 表1用戶信息表</b></p><p> 用戶登錄表,包括以下字段:用戶名,密碼。其中用戶名就是系統(tǒng)分配給各個(gè)用戶的固定號(hào)碼,初始狀態(tài)下其密碼與其用戶名相同。例如:在本系統(tǒng)中,用戶名為“1001”,那密碼也為“1001”。</p><p> 因?yàn)楸救耸堑谝淮尉帉懧?lián)網(wǎng)的手機(jī)游戲,各方面都處于初學(xué)摸索狀態(tài),并且這方面
117、的資料在網(wǎng)上非常少,所以本系統(tǒng)后臺(tái)方面功能比較簡單,目前對數(shù)據(jù)庫的操作只有身份驗(yàn)證這一個(gè)功能模塊。</p><p> 6.2 servlet程序的編寫</p><p> 編寫了OmokServlet這個(gè)類實(shí)現(xiàn)了數(shù)據(jù)的傳輸以及數(shù)據(jù)庫的查詢功能。</p><p> public class OmokServlet extends HttpServlet</p
118、><p> 下面來看doGet方法:</p><p> public synchronized void doGet(HttpServletRequest request,</p><p> HttpServletResponse response) throws IOException {</p><p> String command
119、 =getParameterValue(request, "command");</p><p> String result = "";</p><p><b> //連接</b></p><p> if (command.equals("connect")) {</p&
120、gt;<p> dataMap.remove(String.valueOf(idCount));</p><p> result = String.valueOf(idCount);</p><p> idCount = (idCount > 999) ? 0 : idCount+1;</p><p><b> }</b&
121、gt;</p><p> else if (command.equals("login")) {</p><p> String userid = getParameterValue(request, "UserId");</p><p> String psw = getParameterValue(request
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文---五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文范文——五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文范文——五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)
- java五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)(源代碼+論文)
- H2003032016_肖松_五子棋手機(jī)網(wǎng)絡(luò)對戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn).doc
- 畢業(yè)論文---網(wǎng)絡(luò)五子棋游戲設(shè)計(jì)
- 五子棋對戰(zhàn)游戲
- 軟件工程畢業(yè)論文-五子棋對戰(zhàn)游戲平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 五子棋游戲的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- 五子棋游戲設(shè)計(jì)畢業(yè)論文
- 軟件工程畢業(yè)論文-網(wǎng)絡(luò)對戰(zhàn)五子棋平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)絡(luò)五子棋的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 畢業(yè)論文——五子棋游戲設(shè)計(jì)
- 網(wǎng)絡(luò)對戰(zhàn)五子棋
- 基于vc的五子棋游戲設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- java五子棋游戲畢業(yè)論文
- 基于Android的五子棋游戲設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc
- 畢業(yè)設(shè)計(jì)-- 用java實(shí)現(xiàn)五子棋網(wǎng)絡(luò)對戰(zhàn)系統(tǒng)
- 畢業(yè)設(shè)計(jì)---網(wǎng)絡(luò)五子棋游戲
- 網(wǎng)絡(luò)五子棋五子棋設(shè)計(jì)與實(shí)現(xiàn).doc
評(píng)論
0/150
提交評(píng)論