五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)_第1頁(yè)
五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)_第2頁(yè)
五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)_第3頁(yè)
五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)_第4頁(yè)
五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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、畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì)( 論論 文文)五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)論文作者姓名:論文作者姓名:申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位類別:申請(qǐng)學(xué)位類別:指指導(dǎo)導(dǎo)教教師師姓姓名名(職職稱稱):論文提交日期:論文提交日期:五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)五子棋手機(jī)網(wǎng)絡(luò)對(duì)戰(zhàn)游戲的設(shè)計(jì)與實(shí)現(xiàn)摘摘 要要在現(xiàn)代社會(huì)中,手機(jī)及其它無線設(shè)備越來越多的走進(jìn)普通老百姓的工作和生活。隨著 3G 技術(shù)的普及與應(yīng)用,基于 Java 開發(fā)的軟件在手機(jī)上的使用非常的廣泛,手機(jī)增值服務(wù)的內(nèi)容也是越來越多,對(duì)豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。本文基于 J2ME 技術(shù),

2、以計(jì)算機(jī)網(wǎng)絡(luò)游戲的運(yùn)行流程為基礎(chǔ),分模塊開發(fā)一款網(wǎng)絡(luò)五子棋游戲軟件。本文對(duì)以下幾點(diǎn)內(nèi)容做了重點(diǎn)研究和探討:1、系統(tǒng)整體結(jié)構(gòu),根據(jù)設(shè)計(jì)目標(biāo),結(jié)合普通網(wǎng)絡(luò)游戲的運(yùn)行流程,給出了系統(tǒng)總體設(shè)計(jì)方案,并探討了系統(tǒng)設(shè)計(jì)時(shí)需要用到的關(guān)鍵技術(shù)。2、手機(jī) MIDP 客戶端的實(shí)現(xiàn),MIDP 客戶端是游戲的唯一客戶端,主要功能包括連接服務(wù)器進(jìn)行身份驗(yàn)證、進(jìn)行游戲并不斷的與服務(wù)器交換數(shù)據(jù)。3、后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),后臺(tái)用來處理與數(shù)據(jù)庫(kù)的互聯(lián)來驗(yàn)證用戶身份、處理由客戶端發(fā)送過來的數(shù)據(jù)。由于受到客觀條件的限制,本系統(tǒng)的測(cè)試是在三星手機(jī)模擬器上完成的,但它仍不失具一定的實(shí)用價(jià)值。關(guān)鍵詞:關(guān)鍵詞:J2ME;手機(jī)游戲;Serv

3、letThe Design and Implementation of The Gobang War Game on Cell Phone Network AbstractIn modern society, more and more cell phones and other wireless devices come into the work and life of ordinary people. With the popularization and application of the 3rd Generation of Digital communication technol

4、ogy,the development of Java-based software in the use of mobile phones is very broad, mobile value-added services are more and more. It plays an import role to enrich peoples lives and provide easier access to information.This paper is based on J2ME technology, it expounds how to take the running fl

5、ow of computer network as basis, introduce a kind of gobang game on network by the sub-module method. .The main points of this paper go as follows:(1) The overall system structure. According to the design goals, with the general operation of the network game flow, gives the system design, and explor

6、es the key technology, which is used by the design of this system.(2) The implementation 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. (3) The implem

7、entation and design of background system. Background is to deal with the Internet database to verify the identity of users, processing the data, which is sent by the clients. Due to the restrictions of objective conditions, the systems test completed in the Samsung handset simulator. But it does hav

8、e some advantages.Key words: J2ME; Handset game; Servlet目目 錄錄 論文總頁(yè)數(shù) :24 頁(yè)1 引言.12 系統(tǒng)綜述.13 手機(jī)游戲的現(xiàn)狀和關(guān)鍵技術(shù)介紹.23.1 軟件現(xiàn)狀.23.2 J2ME 概況.23.2.1 J2ME 的由來.23.2.2 J2ME 的 3 層體系結(jié)構(gòu)及 MIDP 簡(jiǎn)介.33.3 TOMCAT服務(wù)器介紹 .43.4 SERVLET技術(shù)介紹.54 開發(fā)環(huán)境介紹.74.1 開發(fā)環(huán)境.74.2 關(guān)于 SAMSUNG WIRELESS TOOL KIT.75 客戶端模塊的開發(fā).75.1 綜述.75.2 程序的類結(jié)構(gòu).75.3

9、游戲的功能流程圖.85.4 游戲的實(shí)現(xiàn).95.4.1 主類 Omok 的實(shí)現(xiàn).95.4.2 游戲登錄界面以及操作說明界面的實(shí)現(xiàn).105.4.3 游戲畫布類的實(shí)現(xiàn).125.4.4 網(wǎng)絡(luò)連接類的實(shí)現(xiàn).145.4.5 五子棋獲勝算法.156 服務(wù)器端程序的開發(fā).176.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn).176.2 SERVLET程序的編寫.177 改進(jìn)建議和措施.207.1 關(guān)于圖片問題.207.2 軟件測(cè)試.207.2.1 測(cè)試前的準(zhǔn)備工作.207.2.2 進(jìn)行測(cè)試.217.2.3 有待添加和完善的功能.22結(jié) 論.22參考文獻(xiàn).22致 謝.23聲 明.241 1 引言引言Java 語(yǔ)言是美國(guó) Sun Mi

10、crosystem 的 James Gosling、Pratrick Naughton及 Mike Sheridan 等人于 1991 年精心設(shè)計(jì)出來的計(jì)算機(jī)編程語(yǔ)言,其構(gòu)想在于實(shí)現(xiàn)使用同一種編程語(yǔ)言所寫出來的程序可以在不同的平臺(tái)上運(yùn)作。這種架構(gòu)對(duì)于消費(fèi)性電子產(chǎn)品而言是具有革命性的,因?yàn)樵谙M(fèi)性電子產(chǎn)品中的處理器及操作系統(tǒng)各不相同,要在這些平臺(tái)上開發(fā)程序必須要了解各個(gè)平臺(tái)的特性,以及其提供的 API 使用方式,分別開發(fā)不同的版本才能執(zhí)行,影響應(yīng)用程序的普及性。近幾年,由于微處理器性能的大幅提升,加上無線通訊技術(shù)的突破,手持式移動(dòng)設(shè)備開始受到大眾的青睞。短短幾年內(nèi),手機(jī)已經(jīng)升級(jí)了幾代產(chǎn)品,普及率

11、逐年攀升,生產(chǎn)效率不斷上升,產(chǎn)品價(jià)格比個(gè)人電腦的摩爾定律有更驚人的下調(diào),以至手機(jī)是大多是城市居民不可缺少的一件隨身設(shè)備。繼短信、彩信等服務(wù)之后,中國(guó)移動(dòng)提供基于 Java 的百寶箱業(yè)務(wù),應(yīng)用產(chǎn)品遍及商務(wù)應(yīng)用、信息獲取、英漢互譯、游戲娛樂等多媒體領(lǐng)域。為了適應(yīng)移動(dòng)數(shù)據(jù)的發(fā)展,推動(dòng)無線電子商務(wù)等業(yè)務(wù)的發(fā)展,J2ME(Java 2 Micro Edition)既用于嵌入式系統(tǒng)的 Java 被引入無線領(lǐng)域。J2ME 的出現(xiàn)實(shí)際上是 Java 技術(shù)的回歸。作為 Java2 平臺(tái)的一部分,J2ME 與 J2SE、J2EE 一起,為無線應(yīng)用的客戶端和服務(wù)器端建立了完整的開發(fā)、部署環(huán)境。隨著 J2ME 的應(yīng)用

12、,它為移動(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ā)語(yǔ)言,由此,在移動(dòng)通信業(yè)第一次為軟件開發(fā)商創(chuàng)造了巨大的商業(yè)機(jī)會(huì),手機(jī)用戶在得到豐富應(yīng)用體驗(yàn)的同時(shí),也大大提高了運(yùn)營(yíng)商的網(wǎng)絡(luò)流量。2 2 系統(tǒng)綜述系統(tǒng)綜述本系統(tǒng)采用 C/S 結(jié)構(gòu),包括手機(jī)客戶端和服務(wù)器后臺(tái)兩個(gè)部分。客戶端采用 j2me midp1.0 函數(shù)編寫,保證了非常好的可移植性。服務(wù)器端采用了 tomcat 作為 服務(wù)器,免費(fèi)并且具有非常強(qiáng)大的功能,中間件采用java servlet 進(jìn)行中間過程的處理,具有很

13、好的穩(wěn)定性和可移植性,采用的數(shù)據(jù)庫(kù)則是 sql server 2000。用戶需要運(yùn)行本系統(tǒng)客戶端軟件,輸入用戶名和密碼進(jìn)行身份驗(yàn)證,如果驗(yàn)證成功,則可以進(jìn)入游戲界面,和其他已經(jīng)登錄的玩家進(jìn)行游戲;如果驗(yàn)證不成功,說明輸入的用戶名或者密碼錯(cuò)誤,需要重新進(jìn)行輸入,否則不會(huì)進(jìn)入到游戲界面。系統(tǒng)分為三層,包括數(shù)據(jù)庫(kù)服務(wù)器層、功能層和表示層。數(shù)據(jù)庫(kù)服務(wù)器層主體是 SQL2000,功能層由 Tomcat+ servlet 技術(shù)實(shí)現(xiàn),表示層為前臺(tái)手機(jī)操作客戶端.總體結(jié)構(gòu)如下圖所視:圖 1 總體結(jié)構(gòu)圖3 3 手機(jī)游戲的現(xiàn)狀和關(guān)鍵技術(shù)介紹手機(jī)游戲的現(xiàn)狀和關(guān)鍵技術(shù)介紹3.13.1 軟件現(xiàn)狀軟件現(xiàn)狀在信息社會(huì)中,手

14、機(jī)及其他無線設(shè)備越來越多的走進(jìn)普通百姓的工作和生活,隨著信息網(wǎng)絡(luò)化的不斷進(jìn)展,手機(jī)及其他無線設(shè)備上網(wǎng)絡(luò)勢(shì)在必行。但是傳統(tǒng)手機(jī)存在以下弊端:1. 傳統(tǒng)手機(jī)出廠時(shí)均由硬件廠商固化程序,程序不能增加、刪除,有了錯(cuò)誤也不能更新、修改,若要增加新功能必須另?yè)Q一部手機(jī)。2. 傳統(tǒng)手機(jī)訪問互聯(lián)網(wǎng)是通過 WAP(Wireless Application Protocal),所有網(wǎng)絡(luò)資源必須接通網(wǎng)絡(luò)才能在線訪問,非常耗時(shí)、費(fèi)用亦很高。而 Java 技術(shù)在無線應(yīng)用方面的優(yōu)勢(shì)非常明顯:1. 應(yīng)用程序可按需下載,而不是購(gòu)買由硬件商提供的套件,可升級(jí)空大。2. Java 技術(shù)提供了一個(gè)類庫(kù),它使的應(yīng)用開發(fā)商可以創(chuàng)建更為

15、直覺、豐富的用戶界面(GUI);3.Java 技術(shù)使網(wǎng)絡(luò)帶寬的應(yīng)用更為有效,因?yàn)閼?yīng)用程序可以下載到器件上,并在本地運(yùn)行,僅僅是在連接到服務(wù)器時(shí)才會(huì)占用網(wǎng)絡(luò)帶寬。3.23.2 J2MEJ2ME 概況概況.1 J2MEJ2ME 的由來的由來Java 的最大目標(biāo)和特點(diǎn),就是一次編寫,到處運(yùn)行的平臺(tái)無關(guān)性。但是,一套標(biāo)準(zhǔn)無法適應(yīng)各種不同的需求。因此,Java 技術(shù)目前共有三套,分別針對(duì)不同的平臺(tái)和應(yīng)用。Standard Edition(J2SE,標(biāo)準(zhǔn)版):針對(duì)桌面端 PC 和工作站的個(gè)人和低端商務(wù)應(yīng)用。 Enterprise Edition(J2EE,企業(yè)版):針對(duì)服務(wù)器端企業(yè)級(jí)應(yīng)用,

16、支持Servlets, JSP 和 XML 等等。Micro Edition(J2ME,袖珍版):針對(duì)有限內(nèi)存,顯示和處理能力的設(shè)備,主要是消費(fèi)電子和嵌入式設(shè)備領(lǐng)域(這實(shí)際正是 Java 語(yǔ)言設(shè)計(jì)最初的目標(biāo)領(lǐng)域)。圖 2 java 總體架構(gòu)圖在消費(fèi)電子和嵌入式設(shè)備領(lǐng)域,內(nèi)存從幾百 K 到幾十 M,從沒有屏幕到Web-TV,CPU 從低功耗的嵌入式處理器到 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)

17、的劃分才能更好的理解和掌握 J2ME。.2 J2MEJ2ME 的的 3 3 層體系結(jié)構(gòu)及層體系結(jié)構(gòu)及 MIDPMIDP 簡(jiǎn)介簡(jiǎn)介J2ME 的 3 層體系結(jié)構(gòu)依照各種設(shè)備的資源特性,將 J2ME 技術(shù)構(gòu)架分為簡(jiǎn)表(Profile) 、配置(Configuration)和 Java Virtual Machine(JVM)3 層,然后再進(jìn)一步細(xì)分,這使 J2ME 能夠在每一類設(shè)備的限制下工作,而同時(shí)提供最低限度的 Java 語(yǔ)言功能性。關(guān)于 J2ME 的體系結(jié)構(gòu),可以這樣來進(jìn)行總結(jié):Configuration 的分類是根據(jù)計(jì)算能力的不同來劃分的,同類設(shè)備的計(jì)算能力相近。Config

18、uration 是一個(gè)規(guī)范,定義了這類設(shè)備的共同 Java 平臺(tái),定義與設(shè)備無關(guān)的 Java 虛擬機(jī)和核心庫(kù),是平臺(tái)相容性的基礎(chǔ)。Profile 的分類是根據(jù)設(shè)備功能劃分的,同類功能的設(shè)備其他各種硬件條件和需求也相近。Profile 是一組 API,在某一Configuration 的基礎(chǔ)上擴(kuò)展了針對(duì)設(shè)備特定功能的 API,使得標(biāo)準(zhǔn)能夠完全適應(yīng)特殊的設(shè)備,徹底發(fā)揮設(shè)備的功能。J2ME 體系的一般結(jié)構(gòu)是:由 Configuration 定義的 Java 虛擬機(jī)運(yùn)行于設(shè)備的宿主操作系統(tǒng)之上,構(gòu)成整個(gè)平臺(tái)的基礎(chǔ)。Configuration 提供了基本的語(yǔ)言特性,Profile 提供針對(duì)設(shè)備的特殊功能

19、 API 和擴(kuò)展類庫(kù)。應(yīng)用程序的運(yùn)行環(huán)境需要一個(gè) Configuration 和至少一個(gè) Profile,多個(gè) Profile 可以共存,也可以疊加。MIDP(Mobile Information Device Profile)定義了針對(duì)移動(dòng)信息處理設(shè)備(主要指智能手機(jī)和一部分具有無線通信功能的 PDA)的圖形界面,輸入和時(shí)間處理,持久性存儲(chǔ),無線 網(wǎng)絡(luò)連接之上的一些消息處理(例如短消息) ,安全等等 API,并且考慮到了移動(dòng)信息設(shè)備的屏幕和內(nèi)存限制。類似于 J2SE 中的 Applet 框架,MIDP 提供了基于 javax.microedition.midlet 包的 MIDlet 應(yīng)用程

20、序框架。應(yīng)為 MIDP 提出較的比較早,目前重要的智能手機(jī)和 PDA 操作系統(tǒng)上都已有了相應(yīng)的實(shí)現(xiàn),而且應(yīng)用的也比較廣泛。 3.33.3 tomcattomcat 服務(wù)器介紹服務(wù)器介紹Tomcat 是一個(gè)免費(fèi)的開源的 Serlvet 容器,它是 Apache 基金會(huì)的 Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由 Apache,Sun 和其它一些公司及個(gè)人共同開發(fā)而成。由于有了 Sun 的參與和支持,最新的 Servlet 和 Jsp 規(guī)范總能在 Tomcat 中得到體現(xiàn)。Tomcat 被 JavaWorld 雜志的編輯選為 2001 年度最具創(chuàng)新的 java 產(chǎn)品,可見其在業(yè)界的地位。 由于 Ja

21、va 的跨平臺(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)來組織:通常其根目錄下包含有 Html和 Jsp 文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè) WEB-INF 目錄,這個(gè)目錄很重要。通常在 WEB-INF 目錄下有一個(gè) web.xml 文件和一個(gè) classes 目錄,web.xml 是這個(gè)應(yīng)用的配置文件,而 classes 目錄下則包含編譯好的 Se

22、rvlet類和 Jsp 或 Servlet 所依賴的其它類(如 JavaBean) 。通常這些所依賴的類也可以打包成 JAR 放到 WEB-INF 下的 lib 目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH 中,但那樣移植和管理起來不方便。 在 Tomcat 中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的 WAR 放到 Tomcat 的webapp 目錄下,Tomcat 會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的 Jsp 時(shí),通常第一次會(huì)很慢,因?yàn)?Tomcat 要將 Jsp 轉(zhuǎn)化為Servlet 文件,然后編譯。編譯以后,訪問將會(huì)很快。另外 Tomcat 也提供了一個(gè)應(yīng)用:man

23、ager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml 文件中。通過這個(gè)應(yīng)用,輔助于 Ftp,你可以在遠(yuǎn)程通過 Web 部署和撤銷應(yīng)用。當(dāng)然本地也可以。 Tomcat 不僅僅是一個(gè) Servlet 容器,它也具有傳統(tǒng)的 Web 服務(wù)器的功能:處理 Html 頁(yè)面。但是與 Apache 相比,它的處理靜態(tài) Html 的能力就不如Apache。我們可以將 Tomcat 和 Apache 集成到一塊,讓 Apache 處理靜態(tài)Html,而 Tomcat 處理 Jsp 和 Servlet。這種集成只需要修改一下 Apache 和Tomcat 的配置文件即可。 基于 Tomcat 的開發(fā)其

24、實(shí)主要是 Jsp 和 Servlet 的開發(fā),開發(fā) Jsp 和Servlet 非常簡(jiǎn)單,你可以用普通的文本編輯器或者 IDE,然后將其打包成 WAR即可。 Tomcat 確實(shí)是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性。3.43.4 servletservlet 技術(shù)介紹技術(shù)介紹Servlet 是用 Java 編寫的 Server 端程序,它與協(xié)議和平臺(tái)無關(guān)。Servlet運(yùn)行于 Javaenabled Web Server 中。Java Servlet 可以動(dòng)態(tài)地?cái)U(kuò)展 Server的能力,并采用請(qǐng)求響應(yīng)模式提供 Web 服務(wù)。 最早支持 Servlet 技術(shù)的是 JavaSo

25、ft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 開始支持標(biāo)準(zhǔn)的 Servlet API。 一、Servlet 的特點(diǎn)Servlet 是 Java 技術(shù)對(duì) CGI 編程的回答。Servlet 程序在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成 Web 頁(yè)面。與傳統(tǒng)的 CGI 和許多其他類似 CGI 的技術(shù)相比,Java Servlet 具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。1、高效 在傳統(tǒng)的 CGI 中,每個(gè)請(qǐng)求都要啟動(dòng)一個(gè)新的進(jìn)程,如果 CGI 程序本身的執(zhí)行時(shí)間較短,啟動(dòng)進(jìn)程所需要的開銷很可能反而超過實(shí)際執(zhí)行時(shí)間。而在 Ser

26、vlet 中,每個(gè)請(qǐng)求由一個(gè)輕量級(jí)的 Java 線程處理(而不是重量級(jí)的操作系統(tǒng)進(jìn)程) 。在傳統(tǒng) CGI 中,如果有 N 個(gè)并發(fā)的對(duì)同一 CGI 程序的請(qǐng)求,則該 CGI程序的代碼在內(nèi)存中重復(fù)裝載了 N 次;而對(duì)于 Servlet,處理請(qǐng)求的是 N 個(gè)線程,只需要一份 Servlet 類代碼。在性能優(yōu)化方面,Servlet 也比 CGI 有著更多的選擇,比如緩沖以前的計(jì)算結(jié)果,保持?jǐn)?shù)據(jù)庫(kù)連接的活動(dòng),等等。 2、方便 Servlet 提供了大量的實(shí)用工具例程,例如自動(dòng)地解析和解碼 HTML 表單數(shù)據(jù)、讀取和設(shè)置 頭、處理 Cookie、跟蹤會(huì)話狀態(tài)等。 3、功能強(qiáng)大 在 Servlet 中,許多

27、使用傳統(tǒng) CGI 程序很難完成的任務(wù)都可以輕松地完成。例如,Servlet 能夠直接和 Web 服務(wù)器交互,而普通的 CGI 程序不能。Servlet還能夠在各個(gè)程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫(kù)連接池之類的功能很容易實(shí)現(xiàn)。 4、可移植性好 Servlet 用 Java 編寫,Servlet API 具有完善的標(biāo)準(zhǔn)。因此,為 I-Planet Enterprise Server 寫的 Servlet 無需任何實(shí)質(zhì)上的改動(dòng)即可移植到Apache、Microsoft IIS 或者 WebStar。幾乎所有的主流服務(wù)器都直接或通過插件支持 Servlet。 5、節(jié)省投資 不僅有許多廉價(jià)甚至免費(fèi)的 Web

28、服務(wù)器可供個(gè)人或小規(guī)模網(wǎng)站使用,而且對(duì)于現(xiàn)有的服務(wù)器,如果它不支持 Servlet 的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資) 。 二、Servlet 的主要功能 Servlet 的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài) Web 內(nèi)容。這個(gè)過程為: 客戶端發(fā)送請(qǐng)求至服務(wù)器端; 服務(wù)器將請(qǐng)求信息發(fā)送至 Servlet;Servlet 生成響應(yīng)內(nèi)容并將其傳給 Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請(qǐng)求; 服務(wù)器將響應(yīng)返回給客戶端; Servlet 看起來像是通常的 Java 程序。Servlet 導(dǎo)入特定的屬于 Java Servlet API 的包。因?yàn)槭菍?duì)象字

29、節(jié)碼,可動(dòng)態(tài)地從網(wǎng)絡(luò)加載,可以說 Servlet對(duì) Server 就如同 Applet 對(duì) Client 一樣,但是,由于 Servlet 運(yùn)行于 Server中,它們并不需要一個(gè)圖形用戶界面。從這個(gè)角度講,Servlet 也被稱為Faceless Object。三、JAVA Servlet 的優(yōu)勢(shì) Servlet 可以和其他資源(文件、數(shù)據(jù)庫(kù)、Applet、Java 應(yīng)用程序等)交互,以生成返回給客戶端的響應(yīng)內(nèi)容。如果需要,還可以保存請(qǐng)求響應(yīng)過程中的信息。 采用 Servlet,服務(wù)器可以完全授權(quán)對(duì)本地資源的訪問(如數(shù)據(jù)庫(kù)),并且Servlet 自身將會(huì)控制外部用戶的訪問數(shù)量及訪問性質(zhì)。 S

30、ervlet 可以是其它服務(wù)的客戶端程序,例如,它們可以用于分布式的應(yīng)用系統(tǒng)中,可以從本地硬盤,或者通過網(wǎng)絡(luò)從遠(yuǎn)端硬盤激活 Servlet。 采用 Servlet Tag 技術(shù),可以在 HTML 頁(yè)面中動(dòng)態(tài)調(diào)用 Servlet。 Servlet API 與協(xié)議無關(guān)。它并不對(duì)傳遞它的協(xié)議有任何假設(shè)。 像所有的 Java 程序一樣,Servlet 擁有面向?qū)ο?Java 語(yǔ)言的所有優(yōu)勢(shì) Servlet 提供了 Java 應(yīng)用程序的所有優(yōu)勢(shì)可移植、穩(wěn)健、易開發(fā)。使用 Servlet 的 Tag 技術(shù),Servlet 能夠生成嵌于靜態(tài) HTML 頁(yè)面中的動(dòng)態(tài)內(nèi)容。 一個(gè) Servlet 被客戶端發(fā)送的

31、第一個(gè)請(qǐng)求激活,然后它將繼續(xù)運(yùn)行于后臺(tái),等待以后的請(qǐng)求。每個(gè)請(qǐng)求將生成一個(gè)新的線程,而不是一個(gè)完整的進(jìn)程。多個(gè)客戶能夠在同一個(gè)進(jìn)程中同時(shí)得到服務(wù)。一般來說,Servlet 進(jìn)程只是在 Web Server 卸載時(shí)被卸載。 4 4 開發(fā)環(huán)境介紹開發(fā)環(huán)境介紹 4.14.1 開發(fā)環(huán)境開發(fā)環(huán)境操作系統(tǒng):Microsoft Windows XP程序語(yǔ)言:Java 2開發(fā)平臺(tái):Java 2 Micro Edition + Tomcat 5.0開發(fā)工具: SAMSUNG Wireless Tool Kit 2.1+ eclipse4.2 關(guān)于關(guān)于 SAMSUNGSAMSUNG Wireles

32、sWireless ToolTool KitKitSAMSUNG WTK(SAMSUNG Wireless Tool Kit)是 SAMSUNG 公司針對(duì) J2ME 推出的用于手機(jī)和 Palm 等移動(dòng)設(shè)備的軟件開發(fā)包,它通用性高,開發(fā)出的應(yīng)用程序可保證能運(yùn)行在大部分設(shè)備上,具有強(qiáng)大的功能和完善的調(diào)試手段,它提供了運(yùn)行模擬器的最基本組件,是其他 IDE 需集成采用的必備元素,也可以單獨(dú)使用。5 5 客戶端模塊的開發(fā)客戶端模塊的開發(fā)5.15.1 綜述綜述客戶端部分主要?jiǎng)澐譃?3 個(gè)界面:菜單界面,登錄界面、游戲界面。具體實(shí)現(xiàn)的功能為: 1、菜單界面:有如下選項(xiàng):進(jìn)入游戲進(jìn)入到用戶登錄界面;操作說明

33、進(jìn)入說明界面,說明游戲軟件的操作方法;2、登錄界面:得到用戶輸入的用戶名和密碼,向服務(wù)器提交,如果身份驗(yàn)證成功,界面則跳轉(zhuǎn)到游戲界面,如果身份驗(yàn)證失敗,則彈出警告窗口,說明登錄失敗原因。3、游戲界面:用戶游戲時(shí)看到的界面,負(fù)責(zé)根據(jù)需要畫圖。5.25.2 程序的類結(jié)構(gòu)程序的類結(jié)構(gòu)程序一共有 7 個(gè)類,程序的類結(jié)構(gòu)如圖所示:圖 3 類結(jié)構(gòu)圖5.35.3 游戲的功能流程圖游戲的功能流程圖進(jìn)入游戲后,首先顯示的是菜單,有 2 個(gè)命令選項(xiàng):進(jìn)入游戲和操作說明;一個(gè)按鈕:退出程序。選擇進(jìn)入游戲這個(gè)命令,則進(jìn)入到用戶登錄窗口,如果登錄成功,則跳轉(zhuǎn)到游戲界面,如果登錄失敗,則跳出警告窗口,3 秒后返回到登錄窗

34、口。也可以從登錄窗口退出程序。如果選擇操作說明命令,則顯示操作說明界面,按返回按鈕,又回來主菜單。游戲的功能流程如圖所示ServerConnectorOmokCanvas:CanvasOmok.:MIDletCursor:CanvasLogo:FormHelp:FormOmokBoard: Canvas菜單進(jìn)入游戲操作說明退出登錄窗口游戲說明Back警告窗口圖 4 功能流程圖5.45.4 游戲的實(shí)現(xiàn)游戲的實(shí)現(xiàn).1 主類主類 OmokOmok 的實(shí)現(xiàn)的實(shí)現(xiàn)MIDlet 是最核心的類。MIDlet 程序有三種狀態(tài):1、 暫停狀態(tài)2、 運(yùn)行狀態(tài)3、 銷毀狀態(tài)J2ME 程序都是從 MI

35、Dlet 類開始執(zhí)行。系統(tǒng)在執(zhí)行 MIDlet 程序時(shí),首先構(gòu)造一個(gè) MIDlet 類型的對(duì)象,然后使程序進(jìn)入到暫停狀態(tài),按照生命周期的規(guī)定,系統(tǒng)會(huì)自動(dòng)調(diào)用 MIDlet 對(duì)象的 startApp 方法使程序進(jìn)入到運(yùn)行狀態(tài),開始程序的執(zhí)行。圖 5 開始界面首先,先要?jiǎng)?chuàng)建 MIDlet 類型的對(duì)象,下面來看對(duì)象的構(gòu)造方法:public Omok() startCmd = new Command(Start, Command.SCREEN, 2); exitCmd = new Command(Exit, Command.EXIT, 3); theCanvas = new OmokCanvas();

36、游戲 theOne=new main(); display=Display.getDisplay(this); help=new Help(this); logo=new Logo(this); instance=this; 在這個(gè)構(gòu)造器中,創(chuàng)建了一個(gè) Display 對(duì)象用于顯示,然后,又創(chuàng)建了一個(gè)畫布的實(shí)例。Display 類有兩個(gè)最主要的作用:1、 獲得屏幕的屬性。例如屏幕是否是彩色的,以及支持的顏色數(shù)量等信息。2、 控制屏幕的顯示。例如使屏幕顯示某個(gè)指定界面或者獲得當(dāng)前的顯示界面等。其中,特別是第二個(gè)作用使用的更加頻繁。當(dāng)程序啟動(dòng)的時(shí)候,則調(diào)用了程序的 startApp 方法,用來顯示

37、畫面:public void startApp() theCanvas.addCommand(startCmd); theCanvas.addCommand(exitCmd); theCanvas.setCommandListener(this); display.setCurrent(theOne); 這個(gè)方法的作用是把在構(gòu)造器中創(chuàng)建的畫布對(duì)象設(shè)置為當(dāng)前屏幕上需要顯示的畫面。當(dāng)調(diào)用 destroyApp 這個(gè)方法的時(shí)候,則退出程序。public void destroyApp(boolean unconditional) exit(); public void exit() System.g

38、c(); notifyDestroyed(); 退出程序的時(shí)候,要實(shí)行垃圾回收,釋放掉不再使用的內(nèi)存。.2 游戲登錄界面以及操作說明界面的實(shí)現(xiàn)游戲登錄界面以及操作說明界面的實(shí)現(xiàn)這兩個(gè)類的實(shí)現(xiàn)都是繼承了 Form 類,來添加各種組件的。下面是效果圖:圖 6 Form 界面效果圖下面先來分析 logo 類:class Logo extends Form implements CommandListener這是類的聲明,它繼承了 Form 類,同時(shí)派生了一個(gè)接口,用來產(chǎn)生按鈕事件。Logo(Omok midlet) super(); this.midlet = midlet;User

39、Name=new TextField(用戶名,9,TextField.ANY);UserPassword=new TextField(密 碼,9,TextField.PASSWORD);tryimg=new ImageItem(,Image.createImage(/1.png),ImageItem.LAYOUT_CENTER,image explorer);catch(java.io.IOException e)append(img);append(UserName);append(UserPassword); backCommand = new Command(登錄, Command.BA

40、CK, 1); exit = new Command(退出, Command.EXIT, 1); addCommand(backCommand); / addCommand(exit); setCommandListener(this);這是他的構(gòu)造方法,創(chuàng)建了 2 個(gè)輸入框,并添加到 Form 上,并且還加上了2 個(gè)按鈕。Help 類的實(shí)現(xiàn)和它類似,因此不再詳細(xì)介紹。.3 游戲畫布類的實(shí)現(xiàn)游戲畫布類的實(shí)現(xiàn)在 J2ME 游戲編程中,Canvas 類是最常用的類之一,該類提供了獲得手機(jī)屏幕屬性、繪制界面以及事件處理等很多實(shí)用的功能。Canvas 類是 Displayable 的子

41、類,在實(shí)際的使用過程,一般都通過繼承Canvas 來利用該類提供的功能。Canvas 類是一個(gè)抽象類,繼承該類的時(shí)候必須覆蓋 paint 方法。來看游戲畫面:圖 7 游戲運(yùn)行效果圖首先先看下它的構(gòu)造方法:public OmokCanvas() board = new OmokBoard();/創(chuàng)建畫板 cursor = new Cursor();/創(chuàng)建光標(biāo) connector = new ServerConnector(this); setGameMode(INIT);/設(shè)置模式在它里面,創(chuàng)建了畫板,光標(biāo)、連接器。并且設(shè)置了模式。然后來看具有流程控制作用的 setGameMode 方法:pri

42、vate void setGameMode(int gameMode) this.gameMode = gameMode; switch(gameMode) case INIT : id0 = id1 = -1;/設(shè)置標(biāo)記變量初始值 row = col = 6;/初始化棋盤大小 board.init(); break; case CONNECT : Thread cthread = new Thread() public void run() repaint(); if(islogin) connect(); else loginGame(); ; cthread.start(); break

43、; case TURN0 : cursor.setLocation(row, col); break; case TURN1 : connector.receiveData(id0); break; repaint(); 在這里面,定義了 4 種狀態(tài)時(shí)所要處理的事件,在這個(gè)程序中的別的方法里,當(dāng)滿足一定條件的時(shí)候,就開始設(shè)置那些狀態(tài)變量,從而實(shí)現(xiàn)了流程的控制。.4 網(wǎng)絡(luò)連接類的實(shí)現(xiàn)網(wǎng)絡(luò)連接類的實(shí)現(xiàn)在 J2ME 中,專門提供了一個(gè)網(wǎng)絡(luò)連接框架GCF。它為資源有限的設(shè)備提供了一個(gè)可擴(kuò)展的、通用的 I/O 框架。GCF 是一組在 javax.microedition.io 包中定義的

44、接口。在 GCF 中共定義了七個(gè)接口 ,其中 Connection 是最基本的連接類型,且同時(shí)提供了對(duì)數(shù)據(jù)包和流連接的支持。沿著層次結(jié)構(gòu)向下派生出提供更多功能的接口。在 MIDP 1.0 規(guī)范只要求設(shè)備支持 連接協(xié)議,而更新的 MIDP 2.0 規(guī)范要求同時(shí)支持 和 S,后者提供了對(duì)更安全的網(wǎng)絡(luò)連接的支持。下面來分析核心代碼:/打開連接 private String readPage(String url) throws IOException StringBuffer result = new StringBuffer(); Connection c = null; InputStream

45、is = null; try c = ( Connection)Connector.open(url); is = c.openInputStream(); int ch = 0; while (ch = is.read() != -1) result.append(char)ch); finally if (is != null) is.close(); if (c != null) c.close(); return result.toString();在這個(gè)方法中,首先建立了一個(gè)連接,采用流來得到數(shù)據(jù),當(dāng)數(shù)據(jù)傳輸完畢后,關(guān)閉流,關(guān)閉連接。下面的代碼則是發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的時(shí)候采用多線程:

46、public void sendData(final int id1, final String data) Thread thread = new Thread() public void run() try readPage(URL+?command=sendData&id=+id1+ &data=+data); catch (IOException e) ; thread.start(); public void receiveData(final int id0) Thread thread = new Thread() public void run() receiv

47、e(id0); ; thread.start(); 在目標(biāo)設(shè)備具有內(nèi)存小,計(jì)算能力弱和電池供電等特點(diǎn)的時(shí)候,如何使應(yīng)用程序高效的運(yùn)行就成為開發(fā)中的一個(gè)大問題.尤其針對(duì)手機(jī)等移動(dòng)信息設(shè)備時(shí),無線通訊的特點(diǎn)又對(duì)我們的程序提出了更高的要求.從代碼優(yōu)化的角度,在網(wǎng)絡(luò)編程中引入多線程就顯得十分重要。當(dāng)程序運(yùn)行的時(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è)可能堵塞的操

48、作,意味著它可能長(zhǎng)時(shí)間都不返回。在三星公司的無線開發(fā)包 WTK 中模擬一段網(wǎng)絡(luò)連接程序運(yùn)行時(shí),WTK 會(huì)提示網(wǎng)絡(luò)連接工作可能會(huì)堵塞用戶輸入,需要?jiǎng)?chuàng)建另外一個(gè)線程去進(jìn)行聯(lián)網(wǎng)操作。所以針對(duì)以上情況,采用多線程進(jìn)行實(shí)現(xiàn)。.5 五子棋獲勝算法五子棋獲勝算法因?yàn)楸鞠到y(tǒng)模擬的重點(diǎn)是網(wǎng)絡(luò)連接,數(shù)據(jù)交互以及怎樣來初步實(shí)現(xiàn)一個(gè)簡(jiǎn)單的手機(jī)網(wǎng)絡(luò)游戲,所以對(duì)于五子棋游戲的規(guī)則方面并沒有考慮太多,禁手等游戲規(guī)則都沒有考慮,而僅僅實(shí)現(xiàn)了五子棋的獲勝算法,這點(diǎn)是這次畢業(yè)設(shè)計(jì)的很大不足之處。下面這個(gè)方法就是來實(shí)現(xiàn)五子棋的獲勝算法:/檢測(cè)是否獲勝 public int checkStones() for (in

49、t x = 0;x 11;x+) for (int y = 0;y 999) ? 0 : idCount+1; else if (command.equals(login) String userid = getParameterValue(request, UserId); String psw = getParameterValue(request, Psw); System.out.println(userid); System.out.println(psw); String sql =select * from users where id=+userid+; try ResultS

50、et result0=ExecuteQuery(sql); if(result0.next() String password = result0.getString(password); if(password.equals(psw) dataMap.remove(String.valueOf(idCount); result = String.valueOf(idCount); System.out.println(result); idCount = (idCount 999) ? 0 : idCount+1; else result=String.valueOf(-1); else r

51、esult=String.valueOf(-1); catch(Exception e)System.out.println(訪問數(shù)據(jù)庫(kù)出錯(cuò)); /斷開 else if (command.equals(disconnect) String id = getParameterValue(request, id); dataMap.put(id, E); /發(fā)送數(shù)據(jù) else if (command.equals(sendData) String id = getParameterValue(request, id); String data = getParameterValue(request

52、, data); dataMap.put(id, data); /接收數(shù)據(jù) else if (command.equals(receiveData) String id =getParameterValue(request, id); if (dataMap.containsKey(id) result = (String)dataMap.remove(id); PrintWriter pw = response.getWriter(); pw.print(result);/返回分配給每個(gè)客戶端分配的代號(hào) pw.flush(); pw.close(); 在這個(gè)方法中,分別就 5 種狀態(tài)進(jìn)行了分

53、別的處理,包括:用戶驗(yàn)證狀態(tài)、連接狀態(tài)、發(fā)送狀態(tài)、接受狀態(tài)以及斷開狀態(tài)??蛻舳嗽谶M(jìn)行登錄,身份驗(yàn)證的時(shí)候,狀態(tài)為 login,然后提交用戶名密碼,當(dāng)這個(gè) servlet 接收到信息后,首先查詢信息的狀態(tài),然后進(jìn)行相應(yīng)的處理,這次狀態(tài)為“l(fā)ogin”,所以提取用戶名密碼 進(jìn)行查詢,如果都匹配的話,返回分配給這個(gè)客戶端的號(hào)碼,以便以后傳輸信息用。如果不匹配的話,則返回-1。身份驗(yàn)證成功的客戶端,以后在每次發(fā)送消息的時(shí)候都要附帶發(fā)送之前被分配的那個(gè)號(hào)碼,因?yàn)槭謾C(jī)是沒有ip 地址的,并且本系統(tǒng)的傳輸協(xié)議為 連接,為了區(qū)分發(fā)送過來的信息的來源,就必須附加一個(gè)號(hào)碼,每次解吸信息前,先提取是哪個(gè)號(hào)碼發(fā)送來的

54、信息,然后把信息放到 hashtable 中,然后等待與這個(gè)號(hào)碼相匹配的另一個(gè)號(hào)碼發(fā)送請(qǐng)求來取走信息。7 7 改進(jìn)建議和措施改進(jìn)建議和措施7.17.1 關(guān)于圖片問題關(guān)于圖片問題在編程過程中,由于沒有美工,本人又不會(huì)太多的圖片處理技術(shù),所以有一些圖片是從 baidu 上面搜索到的,然后再進(jìn)行加工,因?yàn)楸绢}目為畢業(yè)設(shè)計(jì),不是商業(yè)用途,所以對(duì)于侵犯版權(quán)問題,不應(yīng)該存在。7.27.2 軟件測(cè)試軟件測(cè)試.1 測(cè)試前的準(zhǔn)備工作測(cè)試前的準(zhǔn)備工作第一步:首先必須在 PC 上安裝 J2SE SDK 1.4.2第二步:下載 SAMSUNG WTK2.0,這個(gè)程序是三星手機(jī)的軟件開發(fā)包,里面包含有很

55、多種型號(hào)的手機(jī)模擬器,我們需要的就是這個(gè)模擬器。第三步:雙擊桌面上開發(fā)包程序的快捷方式,打開開發(fā)包程序,然后打開開發(fā)包內(nèi)自帶的工程,啟動(dòng)模擬器,運(yùn)行那個(gè)工程,測(cè)試下軟件是否安裝成功。Java 語(yǔ)言并沒有完全編譯成二進(jìn)制可執(zhí)行文件,編譯出的.class 文件是一種介于源程序和二進(jìn)制之間的一種基于半解釋的字節(jié)碼,需要虛擬機(jī)來執(zhí)行。它包括了所有的信息。然而這樣會(huì)導(dǎo)致.class 很容易被反編譯為源代碼,從而不能保護(hù)作者的知識(shí)成果。目前流行的如 decodeJAD 等反編譯工具可以以很快的速度生成源文件。如果不加以施行有效的措施,將造成嚴(yán)重的后果。由此引入混淆器的概念。混淆器將代碼中的所有變量、函數(shù)、

56、類的名稱變?yōu)楹?jiǎn)短的英文字母代號(hào),如果缺乏相應(yīng)的函數(shù)名指示和程序注釋,即使被反編譯,也將難以閱讀?;煜鞯淖饔貌粌H僅是保護(hù)代碼,它也有精簡(jiǎn)編譯后程序大小的作用。由于以上介紹的減少變量、函數(shù)的命名長(zhǎng)度的關(guān)系,編譯后也會(huì)從.class 文件中減少這些冗余的信息?;煜?,體積大約能減少 25%,這對(duì)當(dāng)前費(fèi)用較貴的無線網(wǎng)絡(luò)傳輸是有一定意義的。打包具體過程:游戲文件打包實(shí)際上就是生成 jar、jad 文件。wtk 中文件打包是這樣實(shí)現(xiàn)的:圖 8 打包效果圖.2 進(jìn)行測(cè)試進(jìn)行測(cè)試進(jìn)行游戲系統(tǒng)測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤,一個(gè)成功的測(cè)試是發(fā)現(xiàn)了迄今為止還沒有發(fā)現(xiàn)的錯(cuò)誤。因?yàn)橛螒蛳到y(tǒng)的功能實(shí)現(xiàn)最終是通過

57、界面體現(xiàn)出來的,所以我們下面的測(cè)試將游戲系統(tǒng)功能測(cè)試和界面測(cè)試結(jié)合起來進(jìn)行。1、進(jìn)入游戲前的顯示界面 (圖 9)2、用戶登錄界面(圖 10)3、游戲界面(圖 11) 圖 9顯示界面 圖 10 登錄界面 圖 11 游戲界面測(cè)試過程中發(fā)現(xiàn)的 bug:1、錄界面中,輸入用戶名的時(shí)候,要先把光標(biāo)移動(dòng)到下面輸入框內(nèi)2、如果用戶名輸入錯(cuò)誤后,第二次輸入的時(shí)候則不能登錄進(jìn)去3、游戲中如果用戶較多,回合較多的話,會(huì)有數(shù)量限制游戲 bug 的解決:1、由于經(jīng)驗(yàn)問題,這個(gè)問題還未解決2、把登錄函數(shù)轉(zhuǎn)移到登錄界面類中去3、由于技術(shù)問題,還未得到解決辦法.3 有待添加和完善的功能有待添加和完善的功能1

58、、界面設(shè)計(jì)不夠美觀。界面采用統(tǒng)一的方格塊,看起來很單調(diào)。游戲任務(wù)失敗和任務(wù)完成都是通過文字顯示,缺少畫面效果。2、游戲沒有時(shí)間控制模塊。3、玩家人數(shù)有限制。結(jié)結(jié) 論論程序設(shè)計(jì)實(shí)現(xiàn)了手機(jī)上聯(lián)網(wǎng)游戲的開發(fā)以及后臺(tái)的實(shí)現(xiàn),具有一定的可玩性和復(fù)雜性。經(jīng)過了細(xì)心的調(diào)試和排錯(cuò)解決了絕大部分的問題?,F(xiàn)在已經(jīng)做出的是游戲的 1.0 版本,實(shí)現(xiàn)了游戲的最基本功能,還有一些在游戲中應(yīng)有的功能沒有能實(shí)現(xiàn),離一個(gè)完全意義上的手機(jī)網(wǎng)絡(luò)游戲還有很大一段的距離:1.游戲只在模擬器上運(yùn)行,還沒有經(jīng)過真機(jī)調(diào)試;2.游戲的選項(xiàng)界面沒有經(jīng)過任何效果美化;3.后臺(tái)實(shí)現(xiàn)比較簡(jiǎn)單 參考文獻(xiàn)參考文獻(xiàn)1 胡虛懷,楊志和,李煥.J2ME 移動(dòng)

59、設(shè)備程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2005。2 李振鵬,龔劍.J2ME 手機(jī)游戲開發(fā)技術(shù)詳解M.北京:清華大學(xué)出版社,2006。3 詹建飛.J2ME 開發(fā)精解M.北京:電子工業(yè)出版社,2006。4 施錚.J2ME 技術(shù)參考手冊(cè)M.北京:電子工業(yè)出版社,2004。5 微型爪哇人.JAVA 手機(jī)開發(fā)M.北京:中國(guó)鐵道出版社,2003。6 聞怡洋.J2ME MIDP 1.0/2.0 無線設(shè)備編程指南M.北京:北京大學(xué)出版社,2004。 致致 謝謝首先感謝指導(dǎo)老師李曉崗老師和茍智堅(jiān)老師,他們?cè)诋厴I(yè)設(shè)計(jì)過程中提出了指導(dǎo)性的方案和架構(gòu),并指引本人閱讀相關(guān)的資料和書籍,使本人在不熟悉的領(lǐng)域中仍能迅速掌握

60、新興的技術(shù)。感謝答辯組對(duì)畢業(yè)設(shè)計(jì)的考核,如果可以得到專家的認(rèn)可將對(duì)本人的學(xué)習(xí)和工作給予極大的鼓勵(lì)。你們客觀的評(píng)價(jià)和建議將牢記在心,在今后的發(fā)展中揚(yáng)長(zhǎng)避短,更加努力的嚴(yán)格要求自己。在論文完成過程中,本人還得到了其他老師和許多同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝!作者簡(jiǎn)介姓 名: 肖松 性別: 男出生年月: 1984 年 9 月 11 日 民族: 漢E-mail:dtxs2003yahoo 聲聲 明明本論文的工作是 2007 年 2 月至 2007 年 6 月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。文中除了特別加以標(biāo)注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究

溫馨提示

  • 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)論