版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)說(shuō)明書</b></p><p> 手機(jī)單機(jī)版五子棋游戲設(shè)計(jì)與開(kāi)發(fā)</p><p> 學(xué)生姓名: 學(xué)號(hào): </p><p> 學(xué) 院: </p><p> 系 名
2、: </p><p> 專 業(yè): </p><p> 指導(dǎo)教師: </p><p><b> 2012年5月</b></p><p>
3、 手機(jī)單機(jī)版五子棋游戲設(shè)計(jì)與開(kāi)發(fā)</p><p><b> 摘 要</b></p><p> J2ME(Java 2 Micro Edition) 是近年來(lái)隨著各種不同設(shè)備,尤其是移動(dòng)通信設(shè)備的飛速發(fā)展而誕生的一項(xiàng)新的開(kāi)發(fā)技術(shù)。它定位在消費(fèi)性電子產(chǎn)品的應(yīng)用上,對(duì)設(shè)備的智能化、多樣化,提供了革命性的解決方案,并因其“Write Once, run anywher
4、e”的Java特性而提高開(kāi)發(fā)的效率。</p><p> 隨著手機(jī)的日益普及、Java功能在移動(dòng)設(shè)備上的實(shí)現(xiàn),Java應(yīng)用程序產(chǎn)生的手機(jī)增值服務(wù)逐漸體現(xiàn)出其影響力,對(duì)豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。特別是手機(jī)性能的逐漸增強(qiáng),手機(jī)作為一個(gè)游戲平臺(tái)越來(lái)越成熟了。本論文著眼于J2ME技術(shù)的應(yīng)用,開(kāi)發(fā)一款可用的手機(jī)游戲程序——五子棋。</p><p> 本論文介紹了J2ME
5、的相關(guān)技術(shù)及本程序的結(jié)構(gòu)分析和具體功能的實(shí)現(xiàn)。</p><p> 關(guān)鍵詞:J2ME,手機(jī)游戲,五子棋</p><p> The five in a row game based on Java</p><p><b> Abstract</b></p><p> J2ME is a kind of fast de
6、veloping technology implemented on various devices especially mobile communication equipments. It focuses on application for consumptive electronic products, providing revolutionary solution to the intelligence and diver
7、sification of the equipment. It improves the efficiency of the development process thanks to its “Write Once, run anywhere” nature.</p><p> When mobile phone is getting ever more popular nowadays, with the
8、implementation of Java technology on mobile equipment, increment of capital on communication service exhibits its force on people’s everyday life, providing them ever fast information just in hand. Mobile phone whose cap
9、ability is greater is more and more mature for game. This dissertation focuses on implementation of J2ME technology and has developed a commercial game suite run on mobile phones—Gobang.</p><p> This disser
10、tation introduces J2ME and its relative technology as well as this program’s structure and analysis of implementation in details. </p><p> Keywords: J2ME,mobile game,Gobang</p><p><b> 1
11、 緒論</b></p><p><b> 1.1 研究背景</b></p><p> 在信息社會(huì)中,手機(jī)及其他無(wú)線設(shè)備越來(lái)越多的走進(jìn)普通百姓的工作和生活,隨著信息網(wǎng)絡(luò)化的不斷進(jìn)展,手機(jī)及其他無(wú)線設(shè)備上網(wǎng)絡(luò)勢(shì)在必行。但是傳統(tǒng)手機(jī)存在以下弊端:</p><p> 1. 傳統(tǒng)手機(jī)出廠時(shí)均由硬件廠商固化程序,程序不能增加、刪除,有了
12、錯(cuò)誤也不能更新、修改,若要增加新功能必須另?yè)Q一部手機(jī)。</p><p> 2. 傳統(tǒng)手機(jī)訪問(wèn)互聯(lián)網(wǎng)是通過(guò)WAP(Wireless Application Protocal),所有網(wǎng)絡(luò)資源必須接通網(wǎng)絡(luò)才能在線訪問(wèn),非常耗時(shí)、費(fèi)用亦很高。</p><p> 而Java技術(shù)在無(wú)線應(yīng)用方面的優(yōu)勢(shì)非常明顯:</p><p> 1. 應(yīng)用程序可按需下載,而不是購(gòu)買由硬件商
13、提供的套件,可升級(jí)空間大。</p><p> 2. Java技術(shù)提供了一個(gè)類庫(kù),它使的應(yīng)用開(kāi)發(fā)商可以創(chuàng)建更為直覺(jué)、豐富的用戶界面(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> 基于以上分析,Java手機(jī)將是未來(lái)手機(jī)的發(fā)展方向,是業(yè)
14、界的熱點(diǎn)。</p><p> 1.2 手機(jī)游戲國(guó)內(nèi)外發(fā)展現(xiàn)狀</p><p> 根據(jù)英國(guó)Informa媒體研究公布的統(tǒng)計(jì)數(shù)據(jù),2004年手機(jī)游戲市場(chǎng)的產(chǎn)值已經(jīng)達(dá)到5.87億美元。在歐洲,已經(jīng)初步形成了一個(gè)規(guī)模龐大的行業(yè)市場(chǎng)。與歐美相比,日韓手機(jī)游戲市場(chǎng)已逐步走向成熟。</p><p> 以2002年為分界,全球手機(jī)游戲業(yè)務(wù)發(fā)展可分為兩個(gè)階段,之前移動(dòng)游戲處于
15、起步階段,之后步入了大發(fā)展階段。其實(shí)手機(jī)游戲業(yè)務(wù)最早發(fā)端于歐洲,但是歐洲運(yùn)營(yíng)商卻沒(méi)有把握好手機(jī)游戲市場(chǎng)發(fā)展的大好時(shí)機(jī)。日韓運(yùn)營(yíng)商較早認(rèn)識(shí)到了手機(jī)游戲的價(jià)值,并借助國(guó)內(nèi)信息產(chǎn)業(yè)飛速發(fā)展的機(jī)會(huì),鋪設(shè)了高速的移動(dòng)數(shù)據(jù)傳輸網(wǎng)絡(luò)并開(kāi)始提供高性能的手機(jī)終端,并創(chuàng)造了運(yùn)營(yíng)商與游戲提供商之間良好的合作模式,日韓的手機(jī)游戲市場(chǎng)因此迅速發(fā)展起來(lái)。日韓還涌現(xiàn)了眾多實(shí)力強(qiáng)勁的手機(jī)游戲內(nèi)容提供商,如日本CYBIRD和韓國(guó)ComZUs,而傳統(tǒng)的游戲廠商如世嘉和索尼
16、在一開(kāi)始就加入了手機(jī)游戲內(nèi)容提供商的行列。2002年以后,歐洲的運(yùn)營(yíng)商意識(shí)到了手機(jī)游戲市場(chǎng)的廣闊前景及其自身與日韓運(yùn)營(yíng)商之間的差距,開(kāi)始急起直追,手機(jī)游戲市場(chǎng)日漸活躍。</p><p><b> ◆日本</b></p><p> 日本在手機(jī)游戲領(lǐng)域占據(jù)了絕對(duì)的領(lǐng)導(dǎo)地位。1999年,包括北美在內(nèi)的很多國(guó)家和地區(qū)對(duì)手機(jī)游戲還一無(wú)所知時(shí),日本就已擁有超過(guò)30萬(wàn)的手機(jī)游戲
17、用戶,占全球手機(jī)游戲用戶的70%以上。</p><p> 日本在手機(jī)游戲領(lǐng)域走在世界前列的主要的原因是:</p><p> 其一,日本擁有龐大的移動(dòng)數(shù)據(jù)業(yè)務(wù)用戶群。經(jīng)過(guò)近年來(lái)的不斷發(fā)展,到2004年6月底,日本移動(dòng)用戶數(shù)已經(jīng)達(dá)到8270萬(wàn),其中7000萬(wàn)以上的用戶使頁(yè)用移動(dòng)數(shù)據(jù)業(yè)務(wù)。 NTT DoCoMo的i-mode(它代表著information-mode,是一種移動(dòng)電話服務(wù))業(yè)務(wù)
18、是世界公認(rèn)的經(jīng)營(yíng)最成功的移動(dòng)數(shù)據(jù)業(yè)務(wù)。而手機(jī)游戲作為其中的一項(xiàng)業(yè)務(wù),擁有廣泛的用戶群。</p><p> 其二,日本是傳統(tǒng)的電子游戲大國(guó)。世界傳統(tǒng)游戲市場(chǎng)的巨頭索尼、世嘉和任天堂都在日本,他們手中掌握了豐富的視頻游戲和PC游戲資源,都可以轉(zhuǎn)化為手機(jī)游戲產(chǎn)品。2004年, NTT Do2CoMo推出了新一代FOMA手機(jī),具有更強(qiáng)大的“i-appli”(Java)游戲功能。新一代FOMA手機(jī),把軟件存儲(chǔ)區(qū)域和數(shù)據(jù)保
19、存區(qū)域(高速緩存)的總?cè)萘刻岣叩?30k的2倍以上,從性能上看已經(jīng)超過(guò)了任天堂GBA掌機(jī)。隨即日本著名的PC游戲廠商SQUARE-ENIX宣布面向新一代FOMA手機(jī),開(kāi)發(fā)《勇者斗惡龍》和《最終幻想》游戲的移植版。這說(shuō)明,隨著日本手機(jī)功能的升級(jí)和無(wú)線寬帶網(wǎng)絡(luò)數(shù)據(jù)承載能力的提高,手機(jī)游戲已經(jīng)對(duì)高端的游戲廠商產(chǎn)生了強(qiáng)大的吸引力,手機(jī)游戲已不再是簡(jiǎn)單游戲的代名詞。</p><p><b> ◆歐洲</b
20、></p><p> 歐洲很早就推出了手機(jī)游戲業(yè)務(wù),但在2003年以前,歐洲手機(jī)游戲市場(chǎng)還主要停留在SMS和WAP游戲時(shí)代。與日本相比,歐洲的手機(jī)游戲市場(chǎng)相對(duì)滯后。</p><p> 歐洲手機(jī)游戲產(chǎn)業(yè)發(fā)展滯后的原因主要表現(xiàn)在以下三個(gè)方面。第一,移動(dòng)終端的問(wèn)題。由于歐洲運(yùn)營(yíng)商和手機(jī)廠商之間沒(méi)有深層次的合作,他們并沒(méi)有采用類似日本 NTT DoCoMo那樣的定制生產(chǎn)模式,而是普通的采
21、購(gòu)關(guān)系。這就導(dǎo)致在新業(yè)務(wù)推出的時(shí)候,相應(yīng)的終端生產(chǎn)往往會(huì)滯后一段時(shí)間,從而成為制約瓶頸。第二,運(yùn)營(yíng)商封閉的數(shù)據(jù)業(yè)務(wù)模式阻礙了手機(jī)游戲提供商進(jìn)入市場(chǎng)。在歐洲傳統(tǒng)的移動(dòng)數(shù)據(jù)業(yè)務(wù)模式中,手機(jī)游戲提供商必須向運(yùn)營(yíng)商支付租用網(wǎng)絡(luò)的費(fèi)用。這一費(fèi)用對(duì)于剛剛出現(xiàn)的實(shí)力還很薄弱的手機(jī)游戲提供商來(lái)說(shuō)難以承受。第三,歐洲國(guó)家眾多、文化多元,手機(jī)游戲在傳播上存在語(yǔ)言等方面的障礙。</p><p> 隨著移動(dòng)數(shù)據(jù)業(yè)務(wù)的不斷發(fā)展和市場(chǎng)壓力
22、的不斷加大,歐洲移動(dòng)運(yùn)營(yíng)商已認(rèn)識(shí)到改善手機(jī)游戲市場(chǎng)環(huán)境的必要性和緊迫性。在終端問(wèn)題上,歐洲的運(yùn)營(yíng)商開(kāi)始直接引入日韓的高端手機(jī),打破了傳統(tǒng)歐洲手機(jī)市場(chǎng)為歐洲手機(jī)廠商壟斷局面;在經(jīng)營(yíng)模式上,他們也采取了開(kāi)放的數(shù)據(jù)業(yè)務(wù)經(jīng)營(yíng)模式。比如Vodafone公司就推出了VodafoneLive!,通過(guò)合作分成的模式鼓勵(lì)手機(jī)游戲開(kāi)發(fā)商的積極參與。也有公司直接引入日本imode的運(yùn)作模式和游戲內(nèi)容。這些舉措大大推動(dòng)了歐洲手機(jī)游戲業(yè)務(wù)的發(fā)展。</p&g
23、t;<p> 到2003年年底,歐洲手機(jī)游戲市場(chǎng)的環(huán)境已基本成熟,Java手機(jī)在歐洲已經(jīng)十分普及,還出現(xiàn)了像N-Gage這樣的專用手機(jī)游戲終端。</p><p><b> ◆中國(guó)</b></p><p> 根據(jù)國(guó)內(nèi)最大的移動(dòng)服務(wù)提供商中國(guó)移動(dòng)通信公司網(wǎng)站日前公布的一組數(shù)據(jù)顯示,目前中國(guó)移動(dòng)的手機(jī)用戶數(shù)量已經(jīng)超出了美國(guó)全國(guó)總?cè)丝跀?shù)量。中國(guó)移動(dòng)通信公司
24、的手機(jī)用戶數(shù)量達(dá)到了已經(jīng)超過(guò)美國(guó)的總?cè)丝跀?shù)量。中國(guó)現(xiàn)在有著3億多的手機(jī)用戶,即使只有10%的用戶每月只下載一款游戲,也足以使其形成一個(gè)規(guī)模龐大的產(chǎn)業(yè)。但是日前僅有不足1%的用戶下載過(guò)手機(jī)游戲,這使得這塊被無(wú)數(shù)人看好的市場(chǎng)并沒(méi)有達(dá)到和人們預(yù)期相吻合的水平??梢哉f(shuō),手機(jī)游戲目前在中國(guó)只能算是初期階段。</p><p> 1.3 目的與意義</p><p> 近來(lái)隨著計(jì)算機(jī)與手機(jī)的快速發(fā)展
25、,各種各樣的游戲?qū)映霾桓F,使得人們能有更多的娛樂(lè)項(xiàng)目,而棋類游戲能起到鍛煉人的思維與修身養(yǎng)性的作用,而且棋類游戲水平頗高,大有與人腦分庭抗禮之勢(shì)?,F(xiàn)在的五子棋游戲軟件基本上可以分為兩類:一類是網(wǎng)絡(luò)五子棋游戲軟件,另一類是單機(jī)版五子棋游戲軟件。很少有手機(jī)版的五子棋游戲軟件。為了滿足手機(jī)人群的需求,作者設(shè)計(jì)了這款手機(jī)版的五子棋游戲軟件,可以供人們閑暇時(shí)間隨時(shí)隨地地進(jìn)行娛樂(lè)提高自己的五子棋水平,實(shí)用性強(qiáng)。</p><p&g
26、t; 1.4 論文內(nèi)容及安排</p><p> 本論文是在研究分析國(guó)內(nèi)外手機(jī)游戲發(fā)展?fàn)顩r的基礎(chǔ)上,通過(guò)使用J2ME語(yǔ)言,采用Eclipse作為開(kāi)發(fā)平臺(tái),WTK作為開(kāi)發(fā)工具,實(shí)現(xiàn)各子系統(tǒng),保證系統(tǒng)的正常運(yùn)行。包括友好的界面設(shè)計(jì)、提示信息的顯示、有一定的機(jī)器智慧和可玩性、游戲過(guò)程的正常運(yùn)行、游戲的正常退出等主要功能。</p><p> 2 Java的開(kāi)發(fā)環(huán)境</p>&
27、lt;p> 2.1 J2ME簡(jiǎn)介</p><p> J2ME即JAVA 2 Micro Edition,它是Java 2的組成部分,與J2SE、J2EE并稱。J2ME是一種高度優(yōu)化的Java運(yùn)行環(huán)境,應(yīng)用于大量的消費(fèi)類電子設(shè)備,如Cellular Phones(蜂窩電話)、Screen Phones(可視電話)、Digital Set-top Boxes(數(shù)字機(jī)頂盒)、Car Navigation S
28、ystems(汽車導(dǎo)向系統(tǒng))等,同時(shí)也廣泛被移動(dòng)通信設(shè)備所采用,如移動(dòng)電話、雙向?qū)ず魴C(jī)、智能卡、個(gè)人電腦記事本(Personal Organizer)和掌上電腦(Palmtop)等。J2ME技術(shù)將Java語(yǔ)言的與平臺(tái)無(wú)關(guān)的特性移植到小型電子設(shè)備上,允許移動(dòng)無(wú)線設(shè)備之間共享應(yīng)用程序。J2ME 使用配置和簡(jiǎn)表定制 Java 運(yùn)行時(shí)環(huán)境 (JRE)。作為一個(gè)完整的 JRE,J2ME 由配置和簡(jiǎn)表組成,配置決定了使用的 JVM,而簡(jiǎn)表通過(guò)添加特
29、定于域的類來(lái)定義應(yīng)用程序。</p><p> 與以前 Sun 公司推出的J2EE (Java 2 Enterprise Edition,Java 2企業(yè)版)、J2SE (Java 2 Standard Edition,Java 2標(biāo)準(zhǔn)版)規(guī)范相比,J2ME 不是一個(gè)單獨(dú)的技術(shù)規(guī)范,而是一系列技術(shù)規(guī)范總稱。這些規(guī)范定義了 Java 技術(shù)在資源限制的設(shè)備中的表現(xiàn)形式。J2ME 主要適用于小型嵌入式設(shè)備,這些設(shè)備與P
30、C或是服務(wù)器設(shè)備相比沒(méi)有統(tǒng)一的硬件標(biāo)準(zhǔn)、外觀與操作方式,其功用也是千差萬(wàn)別。但是J2ME 在適用于這些設(shè)備的同時(shí)也保留了 Java 的傳統(tǒng)特性,即任何時(shí)間和任何地點(diǎn)的代碼具有可移植性、部署靈活性、安全的網(wǎng)絡(luò)傳輸性,以及代碼穩(wěn)定性。正是因?yàn)槿绱耍_(kāi)發(fā)人員才可以借助J2ME 力量讓編寫的程序能夠運(yùn)行在其他型號(hào)或廠商的設(shè)備上。</p><p> 2.2 J2ME的相關(guān)特性</p><p>
31、 2.2.1 Configuration簡(jiǎn)介</p><p> J2ME 在設(shè)計(jì)其規(guī)格的時(shí)候,遵循著「對(duì)于各種不同的裝置而造出一個(gè)單一的開(kāi)發(fā)系統(tǒng)是沒(méi)有意義的事」這個(gè)基本原則。于是 J2ME 先將所有的嵌入式裝置大體上區(qū)分為兩種 :一種是運(yùn)算功能有限、電力供應(yīng)也有限的嵌入式裝置(比方說(shuō)PDA 、手機(jī));另外一種則是運(yùn)算能力相對(duì)較佳、并請(qǐng)?jiān)陔娏?yīng)上相對(duì)比較充足的嵌入式裝置 (比方說(shuō)冷氣機(jī)、電冰箱、電視機(jī)上盒 (
32、set-top box))。因?yàn)檫@兩種型態(tài)的嵌入式裝置,所以Java 引入了一個(gè)叫做Configuration 的概念,然后把上述運(yùn)算功能有限、電力有限的嵌入式裝置定義在Connected Limited Device Configuration(CLDC)規(guī)格之中;而另外一種裝置則規(guī)范為 Connected Device Configuration(CDC)規(guī)格。也就是說(shuō), J2ME 先把所有的嵌入式裝置利用Configuration
33、 的概念區(qū)隔成兩種抽象的型態(tài)。 </p><p> 其實(shí)在這里大家可以把Configuration 當(dāng)作是J2ME 對(duì)於兩種類型嵌入式裝置的規(guī)格,而這些規(guī)格之中定義了這些裝置至少要符合的運(yùn)算能力、供電能力、記憶體大小等規(guī)范,同時(shí)也定了一組在這些裝置上執(zhí)行的 Java 程序所能使用的類別函式庫(kù)、這些規(guī)范之中所定義的類別函式庫(kù)為 Java 標(biāo)準(zhǔn)核心類別函式庫(kù)的子集合以及與該型態(tài)裝置特性相符的擴(kuò)充類別函式庫(kù)。比方就C
34、LDC 的規(guī)范來(lái)說(shuō),可以支援的核心類別函式庫(kù)為java.lang.* 、java.io.*、java.util.*,而支援的擴(kuò)充類別函式庫(kù)為java.microedition.io.*。區(qū)分出兩種主要的Configuration 之後,J2ME 接著在定義出Profile的概念。Profile 是架構(gòu)在Configuration 之上的規(guī)格。之所以有Profile的概念,是為了要更明確地區(qū)分出各種嵌入式裝置上Java 程序該如何開(kāi)發(fā)以及
35、它們應(yīng)該具有哪些功能。因此Profile 之中定義了與特定嵌入式裝置非常相關(guān)的擴(kuò)充類別函式庫(kù),而 Java 程序在各種嵌入式裝置上的使用者介面該如何呈現(xiàn)就是定義在Profile 里頭。Profile</p><p> 2.2.2 Profile簡(jiǎn)介</p><p> Profile是建立在某個(gè)configuration之上的特定API集合。一個(gè)configuration只定義虛擬機(jī)和
36、基本的API集合,不定義建立應(yīng)用程序的細(xì)節(jié)。因此Profiles往往包括應(yīng)用程序生命周期的API,用戶界面API以及存儲(chǔ)API。一個(gè)Profile既可直接建立在Configuration上,也可建立在另一個(gè)Profile之上。</p><p> 為了在不改動(dòng)Profile的前提下增加設(shè)備的功能,在Profile之外又提出了可選包,可將它們看成Profile的擴(kuò)展,每個(gè)可選包對(duì)某個(gè)或某些profiles增加特定的
37、功能。當(dāng)對(duì)某個(gè)profile需要增加一個(gè)新的API時(shí)首先將它定義為可選包。如果隨著時(shí)間的推移該可選包被廣泛采用,它則可能成為某個(gè)或某些profiles的一部分。某些廠家特定的API與可選包起相似功能。</p><p> J2ME的這種結(jié)構(gòu)很好的適應(yīng)了嵌入設(shè)備的巨大多樣性。從低到高,您可根據(jù)設(shè)備的情況可采用不同的configuration,在同一configuration中您又可根據(jù)設(shè)備的用途選用不同的Profi
38、le,在您的設(shè)備中您還可采用多個(gè)Profile,如果您還嫌功能不夠,尚有可選包可用。</p><p> J2ME中第一個(gè)正式發(fā)布的Profile是MIDP,而且隨后比較長(zhǎng)的時(shí)間內(nèi)未有其它Profile發(fā)布,以至有人把MIDP等同于J2ME了,有人把WTK等同于J2ME SDK(由于J2ME包含的范圍很廣,所以不太可能有廠商推出能支持各種Profile的開(kāi)發(fā)工具)。MIDP只是J2ME中的一員,我們來(lái)看看到寫本文
39、為止有哪些Profile。由于每個(gè)Profile是建立在特定的Configuration之上的,所以我們?cè)赑rofile后注明其基于的Configuration。目前已有的基于CLDC的Profile有MIDP,基于CDC的Profile有FP、PBP。</p><p><b> 3 需求分析</b></p><p> 3.1 基本需求分析</p>
40、<p> 總體設(shè)計(jì)是軟件開(kāi)發(fā)過(guò)程中的另一個(gè)重要階段,在這一階段中將根據(jù)需求分析中提出的邏輯模型,科學(xué)合理地進(jìn)行物理模型的設(shè)計(jì)。這個(gè)階段的主要目標(biāo)是將反映用戶信息需求的邏輯方案轉(zhuǎn)換成物理方案,并為下一階段提供必要的技術(shù)資料。</p><p> 總體設(shè)計(jì)應(yīng)遵循以下原則:</p><p> (1)整體性:軟件是作為統(tǒng)一整體而存在的。因此,在總體設(shè)計(jì)中要從整個(gè)軟件的角度進(jìn)行考慮
41、。</p><p> ?。?)靈活性:為保持軟件長(zhǎng)久的生命力,要求該手機(jī)游戲軟件具有很強(qiáng)的環(huán)境適應(yīng)性。為此,游戲軟件應(yīng)具有較好的開(kāi)放性與結(jié)構(gòu)的可變性。</p><p> ?。?)可靠性:可靠性是指軟件抵御外界干擾的能力及受外界干擾時(shí)的恢復(fù)能力。</p><p> ?。?)經(jīng)濟(jì)性:經(jīng)濟(jì)性是指在滿足游戲軟件需求的前提下,盡可能地減小游戲軟件的開(kāi)銷。</p>
42、<p> 手機(jī)屏幕尺寸分為物理尺寸和顯示分辨率兩個(gè)概念。物理尺寸是指屏幕的實(shí)際大小。大的屏幕同時(shí),要配備高分辨率,也就是在這個(gè)尺寸下可以顯示多少個(gè)像素,顯示的像素越多,可以表現(xiàn)的余地自然越大?,F(xiàn)在手機(jī)行業(yè)發(fā)展迅速,不同大小屏幕的手機(jī)迅速發(fā)展,鑒于不同手機(jī)屏幕尺寸不同,我們?cè)谠O(shè)計(jì)游戲的時(shí)候有一下一些要求:</p><p> 一 軟件的界面簡(jiǎn)潔明了,操作簡(jiǎn)單容易。受手機(jī)屏幕大小和顯示的影響,我們?cè)O(shè)計(jì)的
43、軟件界面必須是簡(jiǎn)潔的;手機(jī)鍵盤的不方便,游戲需要設(shè)計(jì)得易操作。</p><p> 二 軟件具有人工智能算法原理要簡(jiǎn)單,并且運(yùn)行快速。游戲是需要快速反應(yīng)的。手機(jī)處理器的頻率直接要求我們需要使用簡(jiǎn)單實(shí)用的智能算法。</p><p> 三 游戲要設(shè)置幾個(gè)難度,便于不同玩家選擇.玩家的游戲水平不一樣,我們?cè)O(shè)置不同難度供各個(gè)水平的玩家選擇。</p><p> 四 游戲棋
44、盤的大小要靈活,根據(jù)不同手機(jī)屏幕可以調(diào)節(jié)。</p><p><b> 3.2 功能需求</b></p><p> 3.2.1 此系統(tǒng)使用范圍要求</p><p> 此系統(tǒng)為智力游戲,適合于各類游戲愛(ài)好者。由于其經(jīng)典性及其游戲的簡(jiǎn)單性,各類人士都可以也都愛(ài)玩。人們?cè)谂c電腦對(duì)戰(zhàn)享受娛樂(lè)的同時(shí),也會(huì)體會(huì)到自己的智力也會(huì)有所提升。</p
45、><p> 3.2.2 功能要求</p><p> 界面功能:設(shè)計(jì)了開(kāi)局、退出、設(shè)置、關(guān)于等功能。</p><p> 游戲設(shè)置:針對(duì)人們棋藝的高低不同,設(shè)計(jì)了拜師學(xué)藝、初出茅廬、闖蕩江湖、誰(shuí)與爭(zhēng)鋒四個(gè)不同的難易程度。</p><p> 悔棋功能:人們難免失誤下錯(cuò)棋,此功能提高了下棋的靈活性。</p><p>
46、勝利條件:黑白雙方輪流落子,直到某一方首先在棋盤的橫線、縱線或斜線上形成連續(xù)五子或五子以上〔僅對(duì)白棋而言〕,則該方就算獲勝。</p><p> 3.2.3 性能要求</p><p> 該款五子棋游戲功能雖然簡(jiǎn)單,系統(tǒng)雖然不大,但有不同的難易程度由玩家自主選擇,且在滿足了玩家基本要求的情況下,電腦有一定的智能,能給予新手一定的幫助。</p><p> 3.2.
47、4 數(shù)據(jù)需求</p><p> 數(shù)據(jù)字典:本程序采用非數(shù)據(jù)庫(kù)策略,游戲時(shí),只把部分?jǐn)?shù)據(jù)保存于內(nèi)存中。</p><p> 3.2.5 系統(tǒng)平臺(tái)需求</p><p><b> 編程語(yǔ)言:Java</b></p><p> 操作系統(tǒng):Windows xp系列</p><p> 開(kāi)發(fā)工具:M
48、yeclipse</p><p> 3.3 游戲玩法及規(guī)則</p><p> 現(xiàn)代五子棋專用棋盤為十五路(15X15),共225個(gè)交叉點(diǎn)。棋盤正中一點(diǎn)為天元。 </p><p> 對(duì)局開(kāi)始時(shí),先由執(zhí)黑棋一方將一枚棋子落在天元點(diǎn)上,然后由執(zhí)白棋一方在黑棋周圍的交叉點(diǎn)上落子。但是,為了尊重對(duì)方和禮貌起見(jiàn),持白棋的一方通常將盤面的第二著棋布在自己河界的一側(cè),即直止
49、或斜止。此后黑白雙方輪流落子,直到某一方首先在棋盤的橫線、縱線或斜線上形成連續(xù)五子或五子以上〔僅對(duì)白棋而言〕,則該方就算獲勝 。連珠五子棋的一個(gè)特點(diǎn)是先行的一方優(yōu)勢(shì)很大,因此在職業(yè)比賽中對(duì)黑方做了種種限制,以利公平競(jìng)爭(zhēng)。五子棋的比賽規(guī)則如下: 〖1〗 黑先、白后,從天元開(kāi)始相互順序落子; 〖2〗 最先在棋盤橫向、縱向或斜向形成連續(xù)的同色五個(gè)棋子的一方為勝; 〖3〗 黑棋禁手判負(fù)、白棋無(wú)禁手。黑棋禁手有“三、三”、“四、四”和“長(zhǎng)連
50、”, 包括“四、三、三”和“四、四、三”。黑棋只能以“四、三”取勝; 〖4〗 如分不出勝負(fù),則到為平局; 〖5〗 五連與禁手同時(shí)形成,判勝; 〖6〗 黑方禁手形成時(shí),白方應(yīng)立即指出。若白方未發(fā)現(xiàn)或發(fā)現(xiàn)后不立即指出,反而繼續(xù)落子,則禁手失效,不再判黑方負(fù)。</p><p> 在本游戲中,沒(méi)有采用職業(yè)比賽的規(guī)則,直接采用明間規(guī)則,一人一手棋,先成5為勝。</p><p> 4 游
51、戲設(shè)計(jì)及實(shí)現(xiàn)</p><p> 4.1 軟件模塊總體設(shè)計(jì)</p><p> 利用層次圖來(lái)表示軟件中各模塊之間的關(guān)系。層次方框圖是用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表各個(gè)數(shù)據(jù)的子集,最底層的各個(gè)矩形框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。隨著結(jié)構(gòu)的精細(xì)化,層次方框圖對(duì)數(shù)據(jù)結(jié)構(gòu)描繪也
52、越來(lái)越詳細(xì),這種模式非常適合于需求分析階段的需要。從對(duì)頂層信息的分類開(kāi)始,沿著圖中每條路徑反復(fù)細(xì)化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細(xì)節(jié)為止。</p><p> 本游戲軟件一共分為三大模塊:游戲選項(xiàng)、游戲設(shè)置與關(guān)于。每個(gè)模塊的功能都是按照在調(diào)研中搜集的資料進(jìn)行編排制作的。依據(jù)上述功能的分析,本游戲軟件在三大模塊的基礎(chǔ)上每一大模塊又分為幾個(gè)模塊:</p><p> 游戲選項(xiàng)包括三個(gè)模塊:設(shè)置、開(kāi)
53、局、關(guān)于。</p><p> 游戲設(shè)置包括三個(gè)模塊:棋盤大小設(shè)置、先后手設(shè)置、拜師學(xué)藝、初出茅廬、闖蕩江湖、誰(shuí)與爭(zhēng)鋒。</p><p> 游戲功能結(jié)構(gòu)圖如圖4-1所示。</p><p> 各模塊的詳細(xì)功能如下:</p><p> 開(kāi)始游戲:進(jìn)行新一局的五子棋游戲。</p><p> 重新游戲:游戲結(jié)束或人方認(rèn)
54、輸時(shí)可以進(jìn)行新的游戲。</p><p> 悔棋:人機(jī)對(duì)弈時(shí)人方對(duì)自己的上一步棋重新思考。</p><p> 認(rèn)輸:人機(jī)對(duì)弈時(shí)人方自動(dòng)放棄本局。</p><p> 退出游戲:退出此手機(jī)五子棋游戲軟件。</p><p> 先后手設(shè)置:對(duì)人機(jī)雙方下棋先后順序的選擇。</p><p> 關(guān)于:關(guān)于五子棋與此五子棋游戲
55、軟件的介紹。</p><p> 圖4.1 功能結(jié)構(gòu)圖</p><p><b> 4.2 詳細(xì)設(shè)計(jì)</b></p><p> 本游戲的操作流程:玩家在啟動(dòng)游戲后,即進(jìn)入游戲主畫面,屏幕開(kāi)始顯示為歡迎畫面。用戶按下[Menu]按鈕后,就可以進(jìn)行功能選擇。在按下[開(kāi)局]按鈕后,開(kāi)始游戲,按下[退出]鍵后游戲會(huì)退出。</p>&l
56、t;p> 圖4.2 軟件系統(tǒng)功能圖</p><p> 進(jìn)入游戲后,可以進(jìn)行游戲設(shè)置和開(kāi)局。游戲設(shè)置里可以對(duì)鍵盤大小和電腦智能級(jí)別選擇,也可對(duì)先行方進(jìn)行選擇,然后進(jìn)入游戲。系統(tǒng)會(huì)對(duì)雙方出的每一個(gè)棋子進(jìn)行判斷,如果沒(méi)成五子,則對(duì)方繼續(xù)游戲,如果連成五子,則對(duì)方輸,游戲結(jié)束。</p><p> 圖4.3 游戲流程圖</p><p><b> 4.3
57、 游戲?qū)崿F(xiàn)</b></p><p> public FIRMIDlet()</p><p><b> {</b></p><p> display = Display.getDisplay(this);</p><p> form = new Form(null);</p><p
58、><b> try</b></p><p><b> {</b></p><p> imgSplash = Image.createImage("/splash.png");</p><p><b> }</b></p><p> catch
59、(IOException _ex)</p><p><b> {</b></p><p> imgSplash = Image.createImage(1, 1);</p><p><b> }</b></p><p> form.append(imgSplash);</p>
60、<p> CMD_EXIT = new Command("退出", 7, 1);</p><p> CMD_GO = new Command("開(kāi)局", 4, 2);</p><p> CMD_OPTION = new Command("設(shè)置", 1, 3);</p><p> CMD_A
61、BOUT = new Command("關(guān)于", 5, 3);</p><p> form.addCommand(CMD_GO);</p><p> form.addCommand(CMD_OPTION);</p><p> form.addCommand(CMD_ABOUT);</p><p> form.add
62、Command(CMD_EXIT);</p><p> form.setCommandListener(this);</p><p> myCanvas = new FIRCanvas(this);</p><p> options = new Options(this);</p><p> about = new About(thi
63、s);</p><p><b> }</b></p><p> //生成游戲主界面和其內(nèi)各事件</p><p><b> 圖4.4 開(kāi)始界面</b></p><p> public Options(FIRMIDlet m)</p><p><b> {&l
64、t;/b></p><p> boardSize = 15;</p><p> isComputerFirst = true;</p><p> degree = 1;</p><p> midlet = m;</p><p> loadOptions();</p><p>
65、form = new Form("游戲設(shè)置");</p><p> gaugeSize = new Gauge("棋盤大小: " + boardSize + " X " + boardSize, true, 10, boardSize - 10);</p><p> form.append(gaugeSize);</p&
66、gt;<p> choiceFirst = new ChoiceGroup(null, 2);</p><p> choiceFirst.append("對(duì)方先行", null);</p><p> choiceFirst.setSelectedIndex(0, isComputerFirst);</p><p> form
67、.append(choiceFirst);</p><p> choiceDegree = new ChoiceGroup("電腦智能級(jí)別:", 1);</p><p> choiceDegree.append("拜師學(xué)藝", null);</p><p> choiceDegree.append("初出茅廬&
68、quot;, null);</p><p> choiceDegree.append("闖蕩江湖", null);</p><p> choiceDegree.append("誰(shuí)與爭(zhēng)鋒", null);</p><p> choiceDegree.setSelectedIndex(degree-1 , true);<
69、;/p><p> form.append(choiceDegree);</p><p> form.setItemStateListener(this);</p><p> CMD_OK = new Command("確定", 4, 2);</p><p> CMD_CANCEL = new Command("
70、;取消", 3, 1);</p><p> form.addCommand(CMD_OK);</p><p> form.addCommand(CMD_CANCEL);</p><p> form.setCommandListener(this);</p><p><b> }</b></p>
71、;<p> //對(duì)游戲設(shè)置的選擇</p><p> 圖4.5 游戲設(shè)置界面</p><p> public class About implements CommandListener</p><p><b> {</b></p><p> private FIRMIDlet midlet;<
72、;/p><p> private Form form;</p><p> private Command CMD_OK;</p><p> public About(FIRMIDlet m)</p><p><b> {</b></p><p> midlet = m;</p>
73、<p> form = new Form("關(guān)于");</p><p> form.append("五子棋起源于中國(guó)古代的傳統(tǒng)黑白棋種之一,"</p><p> +"它不僅能增強(qiáng)思維能力,"</p><p> +"提高智力,而且富含哲理,有助于修身養(yǎng)性。"</p
74、><p> +"本五子棋游戲僅作為學(xué)習(xí)范例\n");</p><p> CMD_OK = new Command("確定", 4, 2);</p><p> form.addCommand(CMD_OK);</p><p> form.setCommandListener(this);</p&
75、gt;<p><b> }</b></p><p> public Form getForm()</p><p><b> {</b></p><p> return form;</p><p><b> }</b></p><p&g
76、t; public void commandAction(Command c, Displayable s)</p><p><b> {</b></p><p> if(c == CMD_OK)</p><p><b> {</b></p><p> midlet.comeBack();
77、</p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> //生成游戲關(guān)于窗口及返回</p><p><b> 圖4.6 關(guān)于界面</b><
78、;/p><p> public void manGo(int row, int col)</p><p><b> {</b></p><p> if(row >= 0 && row < boardSize && col >= 0 && col < boardSize &
79、amp;& table[row][col] == 0)</p><p><b> {</b></p><p> goAt(row, col, 2);</p><p> if(isGameOver())</p><p><b> {</b></p><p>
80、if(isComputerWon)</p><p> myCanvas.setStatus("真遺憾!", 0xff0000, 2);</p><p><b> else</b></p><p> myCanvas.setStatus("恭喜你!", 65280, 1);</p>&l
81、t;p><b> } else</b></p><p><b> {</b></p><p> computerGo();</p><p><b> }</b></p><p><b> }</b></p><p>
82、<b> }</b></p><p> //對(duì)游戲輸贏的判斷</p><p><b> 圖4.7 勝負(fù)界面</b></p><p><b> 5 測(cè)試</b></p><p><b> 5.1 測(cè)試環(huán)境</b></p><
83、p> 運(yùn)行環(huán)境:windows(XP/vista/win7)+Eclipse+EclipseMe+WTK</p><p> 真機(jī): CLDC: 1.0</p><p> MIDP: 1.0</p><p> 屏幕: 320*480 </p><p> 可選擇不同類型的真機(jī)上進(jìn)行測(cè)試 </p><p&g
84、t;<b> 5.2 系統(tǒng)測(cè)試</b></p><p> 5.2.1 測(cè)試計(jì)劃</p><p> 先在eclipse環(huán)境中運(yùn)行,根據(jù)運(yùn)行的情況,做進(jìn)一步的處理。然后再打包在真機(jī)上運(yùn)行,有時(shí)會(huì)出現(xiàn),在eclipse環(huán)境中運(yùn)行沒(méi)有問(wèn)題,但在真機(jī)上卻會(huì)出現(xiàn)好多問(wèn)題,根據(jù)出現(xiàn)的問(wèn)題,再做出對(duì)應(yīng)的處理??赡軙?huì)出現(xiàn)一些技術(shù)上的困難,通過(guò)查資料問(wèn)老師同學(xué)等途徑來(lái)盡量解決&
85、lt;/p><p> 5.2.2 游戲界面菜單選項(xiàng)的功能測(cè)試</p><p><b> (1)菜單測(cè)試</b></p><p> ?、?打開(kāi)游戲點(diǎn)擊“開(kāi)始游戲”</p><p> 輸出:游戲開(kāi)始時(shí)相應(yīng)圖片。</p><p><b> 結(jié)果:正常。</b></p&g
86、t;<p> ② 打開(kāi)游戲點(diǎn)擊“關(guān)閉游戲”</p><p><b> 輸出:游戲結(jié)束。</b></p><p><b> 結(jié)果:正常。</b></p><p><b> ?。?)幫助設(shè)置測(cè)試</b></p><p> 打開(kāi)游戲點(diǎn)擊“幫助”</p>
87、;<p> 輸出:使用上下左右方向鍵控制方塊,使其拼裝成原始圖。通過(guò)每次移動(dòng)一個(gè)小方塊,使其最后將多個(gè)小方塊拼成原始圖案。</p><p><b> 結(jié)果:正常。</b></p><p><b> ?。?)音效測(cè)試</b></p><p> 打開(kāi)游戲“音樂(lè)選擇”</p><p>
88、<b> 輸出:音樂(lè)開(kāi)。</b></p><p> 結(jié)果:音樂(lè)加載正常,一打開(kāi)游戲邊開(kāi)始播放音樂(lè)。</p><p> 5.2.3 按鍵事件的功能測(cè)試</p><p> (1) 確定功能測(cè)試</p><p> 游戲過(guò)程中,點(diǎn)擊中間鍵或“進(jìn)入”時(shí)</p><p> 輸出:進(jìn)入游戲相應(yīng)界面
89、。</p><p><b> 結(jié)果:正常。</b></p><p> (2) 返回功能測(cè)試</p><p> 游戲過(guò)程中,點(diǎn)擊“*”鍵或“返回”時(shí)</p><p> 輸出:返回游戲主界面。</p><p><b> 結(jié)果:正常。</b></p><
90、;p> 6 手機(jī)游戲開(kāi)發(fā)存在的困難及解決方案</p><p> 6.1 手機(jī)游戲開(kāi)發(fā)存在的困難</p><p> 當(dāng)電腦游戲被稱為第九藝術(shù),也許我們可以因此期待手機(jī)游戲會(huì)得到一個(gè)冠冕堂皇的稱號(hào)——因?yàn)槭謾C(jī)游戲已經(jīng)漸漸成為游戲業(yè)繼網(wǎng)絡(luò)游戲之后,又一座富饒的“金礦”,成為游戲市場(chǎng)中一顆冉冉升起的新星。</p><p> 但是現(xiàn)在,用“簡(jiǎn)陋”一詞來(lái)形容現(xiàn)
91、今的手機(jī)游戲并不為過(guò),因?yàn)橥婕掖蠖酂o(wú)法對(duì)那個(gè)手掌里的小屏幕集中太多的注意力,特別是手機(jī)游戲的分辨率還很低,很容易讓人想到十幾年前的紅白機(jī)游戲時(shí)代。這是以時(shí)尚標(biāo)榜自己的年輕人無(wú)法接受的。而且現(xiàn)在很多手機(jī)用戶對(duì)于手機(jī)游戲的認(rèn)識(shí)還停留在經(jīng)典的“貪吃蛇”,所以那些所謂的手機(jī)游戲?qū)嵲谧屓颂岵黄鹗裁磁d趣來(lái)。</p><p> 在游戲開(kāi)發(fā)的初期階段,并沒(méi)有傳統(tǒng)游戲的開(kāi)發(fā)者參與。移動(dòng)游戲時(shí)代是從WAP游戲開(kāi)始的,主要是文字,并
92、配有少量的圖形。美國(guó)的移動(dòng)運(yùn)營(yíng)商很快地注意并分析了這些問(wèn)題,他們從日本I-mode的巨大成功中獲取了經(jīng)驗(yàn)。I-mode到去年年底已經(jīng)有3000萬(wàn)用戶下載娛樂(lè)游戲,這占公司年收入的很大一部分。移動(dòng)運(yùn)營(yíng)商推出了下一代移動(dòng)電話,能夠支持因特網(wǎng)功能。與老式的黑白文字手機(jī)相比,這些手機(jī)更加快并且功能更加強(qiáng)大,它們帶有彩色的屏幕和因特網(wǎng)瀏覽功能,使用比大部分個(gè)人電腦撥號(hào)上網(wǎng)速度更快的連接速度。</p><p> 雖然新手機(jī)
93、還不是最理想的游戲平臺(tái),但它已經(jīng)是個(gè)良好的開(kāi)端。處理器、內(nèi)存和色彩深度提供了游戲開(kāi)發(fā)所需的因素。開(kāi)發(fā)者正努力把其它游戲平臺(tái)上的質(zhì)量標(biāo)準(zhǔn)運(yùn)用到這個(gè)平臺(tái)上。當(dāng)然了,一些問(wèn)題仍然存在,然而這些問(wèn)題終將被解決,就像PC平臺(tái)游戲開(kāi)發(fā)者使用不斷改進(jìn)的DirectX一樣。</p><p> 當(dāng)然在手機(jī)游戲投放市場(chǎng)和開(kāi)發(fā)以及具體的制作過(guò)程方面還是存在的諸多的問(wèn)題的。</p><p> 6.1.1 移
94、動(dòng)開(kāi)發(fā)存在的問(wèn)題</p><p> 開(kāi)發(fā)移動(dòng)游戲與傳統(tǒng)游戲的開(kāi)發(fā)有很多不同,想開(kāi)發(fā)有吸引力的移動(dòng)游戲尤其困難。這比開(kāi)發(fā)控制臺(tái)游戲或PC游戲更困難,因?yàn)楸姸嗟脑O(shè)備具有不同的存貯器、聲音和顯示性能。除此之外,你還必須合理利用J2ME這樣的開(kāi)發(fā)環(huán)境。</p><p> 開(kāi)發(fā)移動(dòng)游戲需要一套與普通游戲不同的方法和思路。移動(dòng)游戲的預(yù)算很小而且時(shí)間安排很短。這個(gè)平臺(tái)有許多種硬件和軟件的組合,并且在
95、硬件廠商之間沒(méi)有多少共同點(diǎn)?;ㄙM(fèi)更多的時(shí)間用來(lái)設(shè)計(jì)。開(kāi)發(fā)者都有想用最簡(jiǎn)捷經(jīng)濟(jì)的方式做事的傾向。然而,為了創(chuàng)作一個(gè)世界第一流水平的游戲,你就必須使用世界第一流水平的開(kāi)發(fā)過(guò)程。關(guān)鍵步驟是設(shè)計(jì)思路、試制、生產(chǎn)和產(chǎn)品質(zhì)量檢測(cè)。然而,因?yàn)樵O(shè)備和移動(dòng)運(yùn)營(yíng)商的多樣性,開(kāi)發(fā)者不得不花費(fèi)更多的時(shí)間用于前期的計(jì)劃。這就存在這一種風(fēng)險(xiǎn),那就是一個(gè)設(shè)計(jì)可以用于一種設(shè)備,但是可能就不能用在另一種設(shè)備。類似于硬件中的問(wèn)題,開(kāi)發(fā)兩個(gè)API之間的基本功能。比較軟件開(kāi)發(fā)
96、環(huán)境和圍繞它們的不足進(jìn)行針對(duì)性設(shè)計(jì)。開(kāi)發(fā)者必須花費(fèi)更多的時(shí)間了解這兩個(gè)平臺(tái),但是最后的效果是很值得的。</p><p> 6.1.2 操作環(huán)境不兼容性問(wèn)題</p><p> 本論文講述的移動(dòng)開(kāi)發(fā)環(huán)境是J2ME,J2ME是獲得美國(guó)大部分移動(dòng)運(yùn)營(yíng)商支持的移動(dòng)應(yīng)用開(kāi)發(fā)平臺(tái)。J2ME是一個(gè)解釋語(yǔ)言,運(yùn)行在有虛擬機(jī)的任何操作系統(tǒng)上,通常運(yùn)行速度很慢,而且在優(yōu)化代碼上有許多的困難。</p&
97、gt;<p> 在過(guò)渡期間,為這個(gè)環(huán)境開(kāi)發(fā)游戲成為一種挑戰(zhàn)。例如,BREW 1.0支持掩蓋的位圖傳送( Masked-Blit ),而J2ME MIDP 1.4不支持。而且,一些J2ME手機(jī)不支持聲音。所以你的代碼不應(yīng)該使用掩蓋的位圖傳送支持或者聲音支持。比如說(shuō),如果你創(chuàng)建自定義位圖字體,你可能認(rèn)為你需要掩蓋的位圖傳送。然而,你可以使用提前修正背景色來(lái)創(chuàng)建字體位圖。這兩個(gè)平臺(tái)可以在載入一個(gè)文件的時(shí)候改變調(diào)色板,允許動(dòng)態(tài)的
98、調(diào)整字體背景色,但是文本必須出現(xiàn)在固定的背景上。</p><p> 6.1.3 不同的屏幕尺寸問(wèn)題</p><p> 圖形是游戲的一個(gè)關(guān)鍵的方面,描畫速度是一個(gè)重要的程序函數(shù)。不同于控制臺(tái)游戲和PC游戲,移動(dòng)設(shè)備沒(méi)有標(biāo)準(zhǔn)的屏幕尺寸或者長(zhǎng)寬比,這就導(dǎo)致了很多兼容性問(wèn)題。開(kāi)發(fā)者可以通過(guò)編寫非常靈活的背景和前景描畫程序來(lái)解決這個(gè)問(wèn)題。關(guān)鍵是創(chuàng)建一個(gè)允許快速擴(kuò)展或者縮小游戲視窗的架構(gòu),并且不
99、使圖像變形或者生成讓人看上去覺(jué)得別扭的屏幕比例。</p><p> 當(dāng)然,你有很多方法來(lái)處理這個(gè)問(wèn)題,最壞的情況就是你可以為每種手機(jī)的顯示屏重新設(shè)計(jì)圖形。或者,你還可以動(dòng)態(tài)地調(diào)節(jié)你的游戲背景和其它圖形。</p><p><b> 6.2 解決方案</b></p><p> 基于上述所提到的種種困難,在手機(jī)開(kāi)發(fā)過(guò)程中就要有針對(duì)性的提出解決
100、方案。在操作系統(tǒng)不兼容性的問(wèn)題上我們可以在別的開(kāi)發(fā)環(huán)境中使用面向?qū)ο蟮恼Z(yǔ)言,這樣就很能支持J2ME,因?yàn)樗且环N面向?qū)ο蟮恼Z(yǔ)言。在J2ME和其他開(kāi)發(fā)環(huán)境中,任何使用JAVA寫的代碼都可以使用C++編寫,并且可以更快更好。把所有的設(shè)備輸出代碼( 聲音、顯示、輸入 )從游戲程序邏輯中分離出來(lái)。結(jié)構(gòu)化游戲程序邏輯以便能夠在J2ME和其他環(huán)境之間移植。</p><p> 在處理不同屏幕尺寸的問(wèn)題上,使用像DrawRec
101、tangle和DrawCircle這樣的固有描畫函數(shù)創(chuàng)建盡可能多的可伸縮的圖形。設(shè)計(jì)游戲,讓位圖圖形可以伸展或者縮小15%-20%,而不會(huì)影響玩游戲。在可卷軸的游戲中,根據(jù)需要擴(kuò)大或者縮小可玩的區(qū)域。這樣以來(lái)這個(gè)問(wèn)題便迎刃而解了。</p><p> 最后在解決輸入問(wèn)題上,可以使用基于動(dòng)量的控制來(lái)最小化緩慢的相應(yīng)速度。設(shè)計(jì)解決同時(shí)按下多鍵的事件,提高幀速度,以便提高響應(yīng)速度。</p><p&g
102、t; 這樣以來(lái),只要在這些關(guān)鍵過(guò)程中解決好這些問(wèn)題就不難做出一款高質(zhì)量的手機(jī)游戲了。</p><p> 7 J2ME手機(jī)游戲前景展望</p><p> 7.1 J2ME手機(jī)游戲的優(yōu)勢(shì)</p><p> 在手機(jī)游戲制作完成之后,其最大的優(yōu)勢(shì)就在于:讓品質(zhì)決定一切。很多人提到手機(jī)游戲都認(rèn)為它前景誘人,并且通常都會(huì)有這樣的想法:中國(guó)的手機(jī)用戶接近2億,如果這個(gè)
103、市場(chǎng)上有10%的用戶使用高端產(chǎn)品和服務(wù),如果他們每人每月下載一個(gè)游戲,每個(gè)游戲收費(fèi)5元,那么一年的手機(jī)市場(chǎng)就能輕松超過(guò)12億元。確實(shí),手機(jī)游戲擁有如此廣泛的用戶群,的確讓其具有強(qiáng)勢(shì)優(yōu)勢(shì),并且一個(gè)更重要的優(yōu)勢(shì)在于,手機(jī)游戲?qū)⒋蟠髱?dòng)女性對(duì)于游戲的積極性,讓女性朋友更容易接觸游戲,更容易體會(huì)游戲帶來(lái)的樂(lè)趣。</p><p> 全球移動(dòng)游戲業(yè)2002年的收益已經(jīng)達(dá)到4.364億美元,而2008年將上升至93.4億美元
104、。手機(jī)游戲市場(chǎng)越來(lái)越被看好,成為游戲業(yè)新的增長(zhǎng)點(diǎn)。目前的手機(jī)游戲都是就地取材于電腦游戲,一些比較受玩家歡迎的游戲直接移植到手機(jī)上面,節(jié)約了不少成本和周轉(zhuǎn)時(shí)間。世嘉、育碧這樣的大型游戲廠商已相繼成立手機(jī)游戲開(kāi)發(fā)部門,而諾基亞、摩托羅拉等手機(jī)廠商也大力投資手機(jī)游戲及其運(yùn)行平臺(tái)的開(kāi)發(fā)。特別是手機(jī)游戲的開(kāi)發(fā)相對(duì)于電腦游戲來(lái)說(shuō),具有開(kāi)發(fā)預(yù)算少、開(kāi)發(fā)周期短等特點(diǎn),并且針對(duì)屏幕小、鍵盤等不適宜游戲使用的情況,目前游戲廠商都推出了針對(duì)手機(jī)游戲的專門機(jī)型
105、,由此我們可以看出手機(jī)的產(chǎn)業(yè)鏈已經(jīng)漸漸形成,整個(gè)行業(yè)也漸漸成熟起來(lái)。</p><p> 但是手機(jī)游戲要進(jìn)入黃金時(shí)期,卻必然要先費(fèi)一番周折。首先就是彩屏手機(jī)的普及問(wèn)題,讓所有的手機(jī)用戶都具有先進(jìn)的技術(shù)平臺(tái)支持就需要長(zhǎng)時(shí)間的等待。而且真正意義上先進(jìn)的游戲手機(jī)還沒(méi)有出現(xiàn),同時(shí)還受到來(lái)自GBA等專業(yè)游戲機(jī)的“排擠”。然而,如果從行業(yè)發(fā)展的角度看,手機(jī)游戲的未來(lái)一定是受大眾喜歡的。</p><p>
106、; 從上面所講到的手機(jī)游戲具有的優(yōu)勢(shì),我想手機(jī)游戲必將在以后的通信舞臺(tái)上有它的用武之地的,因?yàn)殡S著人們生活水平的提高,手機(jī)將會(huì)逐漸成為人們生活中不可缺少的物品之一。J2ME的前景會(huì)非常廣泛,并且不會(huì)只局限于游戲,還將在移動(dòng)應(yīng)用軟件等各方面發(fā)揮重要的作用,隨著科技的發(fā)展,J2ME的應(yīng)用限制也將大大的得到擴(kuò)展。</p><p> 7.2 J2ME手機(jī)游戲的開(kāi)發(fā)意義</p><p> 我
107、們對(duì)于電腦游戲已經(jīng)熟知,所以如果以這個(gè)標(biāo)準(zhǔn)來(lái)衡量手機(jī)游戲,那么手機(jī)在某種程度上可以看作是小型的計(jì)算機(jī),它的處理能力與臺(tái)式電腦的標(biāo)準(zhǔn)處理能力相比雖然很有限,但是已經(jīng)能夠運(yùn)行一些小型的游戲。</p><p> 現(xiàn)在全世界手機(jī)用戶很多,甚至已經(jīng)超過(guò)電腦的普及率,并且手機(jī)更新?lián)Q代的速度絕不比電腦差多少。所以手機(jī)游戲已經(jīng)具有了它成長(zhǎng)的基礎(chǔ),這個(gè)基礎(chǔ)要比當(dāng)年的電腦游戲穩(wěn)固得多。</p><p>
108、最早的手機(jī)游戲只能看作是一種增值服務(wù),并不具備形成一種產(chǎn)業(yè)的規(guī)模。這也是一般手機(jī)用戶對(duì)于手機(jī)游戲的印象,所以很多人在買手機(jī)時(shí),并不是很看重手機(jī)的游戲功能。例如:諾基亞手機(jī)的貪吃蛇就是在手機(jī)出廠前固化在芯片中,而且用戶不能再自己安裝新的游戲,所以手機(jī)游戲被看成某款手機(jī)的特殊功能也就不足為奇了。</p><p> 短信之后的手機(jī)游戲會(huì)是什么樣?其實(shí)手機(jī)游戲肯定會(huì)走上電腦游戲的發(fā)展之路,而且以現(xiàn)在游戲開(kāi)發(fā)基礎(chǔ)和用戶平
109、臺(tái)的更新速度,估計(jì)手機(jī)游戲的發(fā)展速度將會(huì)是電腦游戲的幾倍以上。而且手機(jī)游戲的開(kāi)發(fā)也將應(yīng)用于各種新技術(shù)之上,讓用戶更容易擁有手機(jī)游戲帶來(lái)的樂(lè)趣。</p><p> WAP手機(jī)游戲已經(jīng)無(wú)法滿足玩家的需求,現(xiàn)在已經(jīng)有上千萬(wàn)的Java手機(jī)到了消費(fèi)者手中。雖然這個(gè)“爪哇”與臺(tái)式機(jī)中的Java相比還有很大的限制,但是它已經(jīng)極大地提高了移動(dòng)電話支持游戲的能力。</p><p> J2ME是一種針對(duì)移
110、動(dòng)電話和PDA這樣的小型設(shè)備的Java語(yǔ)言,它比SMS或WAP能更好地控制界面,允許使用圖形動(dòng)畫,可以通過(guò)無(wú)線網(wǎng)絡(luò)連接到遠(yuǎn)程服務(wù)器。J2ME不是手機(jī)上配置的惟一的解釋語(yǔ)言,但是它是一個(gè)許多廠商新支持的行業(yè)標(biāo)準(zhǔn)。也正是Java將手機(jī)游戲的趣味性大大提高,并且向傳統(tǒng)的電子游戲靠攏,讓手機(jī)游戲的吸引力增強(qiáng),特別是手機(jī)隨身攜帶的特點(diǎn),也讓其成為用戶身邊觸手可及的掌中游戲,而不一定要擁有電腦這樣的平臺(tái)才能進(jìn)行游戲。</p><
111、p> J2ME為在小型電子設(shè)備上創(chuàng)建性能卓越的網(wǎng)絡(luò)應(yīng)用提供了一套完整的解決方案。它也使設(shè)備制造商、服務(wù)提供商及應(yīng)用開(kāi)發(fā)人員為他們的用戶發(fā)布新的軟件應(yīng)用成為可能。J2ME的出現(xiàn)使這些廠商有了共同遵循的技術(shù)規(guī)范,而這樣做也完全符合Java“一處編譯,到處運(yùn)行”的基本方針,因?yàn)楝F(xiàn)在市場(chǎng)對(duì)軟件跨平臺(tái)的兼容性和安全性的要求變得日益強(qiáng)烈。而J2ME卻能很好地解決軟件跨平臺(tái)得兼容性與安全性的問(wèn)題。</p><p>
112、J2ME游戲不但是因?yàn)樗哂袠O強(qiáng)的趣味性,并且它給人們帶來(lái)了無(wú)限商機(jī),大家都知道現(xiàn)在搞互聯(lián)網(wǎng)游戲的公司都是業(yè)績(jī)斐然。近年來(lái),隨著Java手機(jī)的誕生,其無(wú)可替代的靈活性與輕便性致使Java手機(jī)游戲成為游戲市場(chǎng)的又一亮點(diǎn)。所以一切的一切都要從頭開(kāi)始,一步一個(gè)腳印地向前發(fā)展。在肯定手機(jī)游戲的前提下,共同期待一個(gè)新游戲時(shí)代的創(chuàng)立!</p><p><b> 8 總結(jié)</b></p>
113、<p> 在本游戲的編寫過(guò)程中,我遇到了許多的問(wèn)題。首先要自己先學(xué)習(xí)一下JAVAME的游戲編程,在這方面我遇到了很大的難題。還有就是對(duì)五子棋游戲的算法不是很清楚。在編碼實(shí)現(xiàn)的時(shí)候,會(huì)出現(xiàn)一些開(kāi)始完全意料不到的問(wèn)題,也許這些問(wèn)題當(dāng)中,有的是老師講過(guò)的,也有一部分是老師沒(méi)有講過(guò),這個(gè)時(shí)候就是體現(xiàn)出自己解決問(wèn)題的能力的時(shí)候了。在遇到問(wèn)題時(shí)要學(xué)會(huì)如何去分析錯(cuò)誤,再是學(xué)會(huì)如何去解決掉這個(gè)問(wèn)題。在遇到問(wèn)題是,不要有害怕困難的情緒,解決
114、問(wèn)題也是一個(gè)不斷學(xué)習(xí)進(jìn)步的過(guò)程,遇到的問(wèn)題越多,學(xué)到的東西也就越多。因此在遇到困難之時(shí),不要輕言放棄,要努力向前解決問(wèn)題。我在完成我的畢業(yè)論文過(guò)程中,認(rèn)真總結(jié),經(jīng)過(guò)長(zhǎng)時(shí)間的寫作到現(xiàn)在論文基本完成。寫畢業(yè)論文不是一件容易的事情,需要不斷的進(jìn)行精心的修改,不斷地去研究各方面的文獻(xiàn)。經(jīng)過(guò)很久的努力,終于完成了畢業(yè)論文。在這次畢業(yè)論文的寫作的過(guò)程中,我擁有了無(wú)數(shù)難忘的感動(dòng)和收獲。后來(lái),在與導(dǎo)師的交流討論后,我便立刻在學(xué)校的圖書館和網(wǎng)上找了一些著
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---網(wǎng)絡(luò)五子棋游戲
- 網(wǎng)絡(luò)五子棋游戲畢業(yè)設(shè)計(jì)
- 人機(jī)對(duì)弈五子棋游戲畢業(yè)設(shè)計(jì)
- 五子棋游戲設(shè)計(jì)報(bào)告
- 五子棋游戲設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文——五子棋游戲設(shè)計(jì)
- linux環(huán)境下五子棋游戲設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于labview設(shè)計(jì)的五子棋游戲
- 五子棋對(duì)戰(zhàn)游戲
- 畢業(yè)論文---網(wǎng)絡(luò)五子棋游戲設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--五子棋人機(jī)對(duì)弈
- flash五子棋畢業(yè)設(shè)計(jì)論文
- java五子棋畢業(yè)設(shè)計(jì)論文
- java五子棋游戲畢業(yè)論文
- 網(wǎng)絡(luò)五子棋五子棋設(shè)計(jì)與實(shí)現(xiàn).doc
- java五子棋畢業(yè)設(shè)計(jì)--java五子棋對(duì)弈程序的設(shè)計(jì)與實(shí)現(xiàn)
- java五子棋畢業(yè)設(shè)計(jì)(整套)
- 畢業(yè)設(shè)計(jì)(論文)linux環(huán)境下五子棋游戲設(shè)計(jì)
- 五子棋對(duì)弈系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--五子棋程序設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論