2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)設(shè)計</b></p><p><b> ?。?0 屆)</b></p><p>  基于J2ME俄羅斯方塊游戲的設(shè)計和實現(xiàn)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級

2、通信工程 </p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要</b&

3、gt;</p><p>  隨著時代的進(jìn)步和新技術(shù)的發(fā)展,手機(jī)因其小巧便捷的特性成為人們必備的通訊工具,同時手機(jī)的硬件配置要求越來越高,與之對應(yīng)的增值服務(wù)也越來越多元化。其中游戲作為人們?nèi)粘I钪幸粋€重要的娛樂項目,理所當(dāng)然出現(xiàn)在手機(jī)上,手機(jī)游戲也就擁有了巨大的市場空間,隨著3g的開通和應(yīng)用,必將迎來新的一輪游戲熱潮!,而J2ME易于開發(fā)和跨平臺的特性使其成為手機(jī)增值服務(wù)開發(fā)的理想開發(fā)工具。</p>

4、<p>  該系統(tǒng)是一個基于J2ME平臺的俄羅斯方塊游戲,利用Java ME Wireless Toolkit(WTK)開發(fā)包工具在無線網(wǎng)絡(luò)移動端上實現(xiàn)經(jīng)典的俄羅斯方塊游戲。該文章先介紹了游戲的開發(fā)背景,然后是對開發(fā)工具的相關(guān)介紹以及俄羅斯方塊游戲規(guī)則,在設(shè)計與實現(xiàn)方面,分成游戲規(guī)則、方塊處理這兩個模塊進(jìn)行實現(xiàn),最終展示了該游戲開發(fā)的基本開發(fā)過程和設(shè)計思路,以及游戲的實現(xiàn)。</p><p>  關(guān)鍵詞

5、:J2ME;手機(jī)游戲;游戲開發(fā);無線網(wǎng)絡(luò)移動端;俄羅斯方塊</p><p><b>  Abstract</b></p><p>  With the progress of The Times and the development of new technology, Mobile phone convenient features become people e

6、ssential communication tools, because its small, and mobile phone hardware configuration to the demand is higher and higher, and the corresponding value-added services also more and more diversified. Which games as peopl

7、e daily life an important entertainment project, granted appear on mobile phones, cellular phone game also has a huge market space, as the 3g enlightened and appl</p><p>  This system is based on J2ME platfo

8、rm game tetris, using Wireless Toolkit (Java ME WTK) tool in the Wireless network setups mobile terminal implemented on classic game tetris. This paper firstly introduces the background of the development of the game, th

9、en the development tools of related introduction and Russian square game rules in the design and realization ways, the rules of the game, a square deal with the modules which make realization and finally demonstrates thi

10、s game development of bas</p><p>  Key Words: J2ME; Mobile games; Game development; The wireless network mobile terminal; Tetris</p><p><b>  目 錄</b></p><p><b>  1

11、 引言1</b></p><p>  1.1 課題研究背景與意義1</p><p>  1.2 手機(jī)游戲的發(fā)展現(xiàn)狀1</p><p>  1.3 論文的主要工作與內(nèi)容安排2</p><p>  2游戲開發(fā)環(huán)境介紹4</p><p>  2.1 編程環(huán)境的介紹和選擇4</p>&l

12、t;p>  2.2 Java ME Wireless Toolkit軟件簡介5</p><p>  2.3 Java ME Wireless Toolkit開發(fā)環(huán)境的介紹7</p><p>  3 俄羅斯方塊游戲介紹11</p><p>  3.1 俄羅斯方塊游戲的背景和規(guī)則11</p><p>  3.2 俄羅斯方塊游戲的特性

13、11</p><p>  3.3 俄羅斯方塊游戲的發(fā)展前景13</p><p>  4 游戲系統(tǒng)分析設(shè)計15</p><p>  4.1 系統(tǒng)解決方案15</p><p>  4.2 系統(tǒng)總體結(jié)構(gòu)15</p><p>  4.2.1 方塊處理模塊16</p><p>  4.2.2

14、游戲規(guī)則模塊16</p><p>  4.3 游戲中斷處理流程16</p><p>  5 系統(tǒng)的實現(xiàn)18</p><p>  5.1 系統(tǒng)源文件結(jié)構(gòu)18</p><p>  5.2 游戲規(guī)則模塊18</p><p>  5.2.1 游戲規(guī)則模塊結(jié)構(gòu)18</p><p>  5.2

15、.2 游戲規(guī)則模塊功能19</p><p>  5.3 方塊處理模塊25</p><p>  5.3.1 方塊處理模塊結(jié)構(gòu)25</p><p>  5.3.2 方塊處理模塊功能26</p><p>  6運行與測試30</p><p><b>  7 結(jié)論34</b></p&g

16、t;<p>  致 謝錯誤!未定義書簽。</p><p><b>  參考文獻(xiàn)35</b></p><p>  附錄1 系統(tǒng)源代碼36</p><p>  附錄2 畢業(yè)設(shè)計作品說明書65</p><p><b>  1 引言</b></p><p>

17、;  1.1 課題研究背景與意義</p><p>  隨著經(jīng)濟(jì)社會的發(fā)展,人民的生活水平也日益提高,移動設(shè)備特別是手機(jī)得到了非常廣泛的應(yīng)用,在手機(jī)平臺上運行的游戲也被更多游戲愛好者所接受。作為一個新興的行業(yè),手機(jī)游戲成為無線增值業(yè)務(wù)迅猛發(fā)展的最大亮點。因此,J2ME作為開發(fā)手機(jī)游戲的主流平臺有著非常良好的前景。而J2ME這個主要的游戲開發(fā)平臺相比其他智能客戶端而言,有個獨特的優(yōu)點,就是它是專為手機(jī)設(shè)計的。J2ME

18、應(yīng)用可運行在不同投資商的不同設(shè)備上,這一特性在高度競爭的手機(jī)設(shè)備行業(yè)中是特別重要的,現(xiàn)在所有主要的智能手機(jī)制造商都支持J2ME平臺,所以基于J2ME的手機(jī)游戲開發(fā)前景是非常美好的。</p><p>  如今的手機(jī)游戲,無論從視覺效果、聽覺效果還是游戲的可玩性來說,都很精彩。當(dāng)今世界,移動電話數(shù)量巨大,除美國之外,其他各個發(fā)達(dá)國家擁有手機(jī)的人數(shù)比擁有計算機(jī)的人數(shù)還多。而在我國,手機(jī)擁有量甚至超過了美國的人口數(shù)量,而

19、且每個月手機(jī)的數(shù)量仍然以驚人的速度增長著。手機(jī)市場的高速發(fā)展帶動了手機(jī)游戲市場的急速膨脹,基于Java,BREW等技術(shù)平臺的手機(jī)游戲市場規(guī)模紛紛呈現(xiàn)幾何增長態(tài)勢?;贘2ME的俄羅斯方塊游戲雖然只是一款簡單的游戲,但它可謂是一款經(jīng)典之作,因為玩家可以一次一次地挑戰(zhàn)新紀(jì)錄,而且積分越高方塊速度越快,給人一種挑戰(zhàn)感,大大增加了其可玩性。在設(shè)計這款游戲的同時,還有助對于J2ME知識的理解,其次一個小型的手機(jī)游戲中有很多地方代碼結(jié)構(gòu)是相同的,比

20、如開始動畫、游戲菜單等。于是,開發(fā)一套可以為我們編寫代碼框架的J2ME手機(jī)游戲開發(fā)引擎對于提高游戲的開發(fā)速度是很有幫助的。</p><p>  1.2 手機(jī)游戲的發(fā)展現(xiàn)狀</p><p>  IT業(yè)作為一項熱門的產(chǎn)業(yè),游戲已經(jīng)成為其技術(shù)創(chuàng)新背后的動力之一。游戲玩家們總是渴望有更強(qiáng)大的硬件條件來實現(xiàn)質(zhì)量更高的游戲,以獲得較好的視覺效果和樂趣,手機(jī)游戲雖然目前還不能與計算機(jī)游戲的功能相比較,但

21、是它是在手機(jī)上運行的特點是它的一項優(yōu)勢,因為手機(jī)是我們?nèi)粘I钪须S身攜帶的通訊工具,可以隨時隨地的玩游戲。由于受目前的技術(shù)條件限制,在眾多的游戲種類中,只有幾種游戲類型是適合無線網(wǎng)絡(luò)移動端開發(fā)的,如低激烈程度的街機(jī)游戲;簡單的運動類游戲;解謎游戲;簡單的匹配游戲和主題測試游戲。而網(wǎng)絡(luò)游戲產(chǎn)業(yè)的繁榮,讓企業(yè)和消費者同時認(rèn)識到了游戲的力量,雖然受到屏幕尺寸和操作性的限制,但作為全球使用量最大的通信產(chǎn)品,手機(jī)也具有成功進(jìn)入掌上游戲領(lǐng)域的理由。

22、而彩屏革命過后,手機(jī)游戲就變得更加豐富多樣了。從當(dāng)初諾基亞手機(jī)中經(jīng)典的二維貪吃蛇游戲,到今天的三維畫面及聲色效果俱佳的游戲,手機(jī)游戲已經(jīng)成為一種非常普遍的休閑方式,為玩家?guī)砹撕芏嗫鞓芳靶缕娴捏w驗,同時也為開發(fā)商帶來了更多的利潤。</p><p>  這一切得益于Sun公司,它是Java平臺的東家,可以說手機(jī)端游戲的發(fā)展與Java技術(shù)的發(fā)展有著不可分割的聯(lián)系。Java 2推出后,Sun推出了一種名為J2ME的平臺

23、,被廣泛應(yīng)用于手機(jī)端。隨著各大手機(jī)生產(chǎn)商對J2ME標(biāo)準(zhǔn)的支持,以及基于J2ME開發(fā)的手機(jī)游戲的可移植性和快速開發(fā)的優(yōu)勢,J2ME手機(jī)游戲市場需求越來越高。手機(jī)游戲在日本、韓國的發(fā)展是非??斓?,2009年日本手機(jī)游戲市場超過一萬億日元,其中K D D I為用戶提供了3 5 0多款游戲。韓國則是全球最大的游戲生產(chǎn)國,SKT提供280款手機(jī)游戲,年銷售額達(dá)1 5 0 0億韓元;K T F為用戶提供了600多款游戲,銷售額約1000億韓元;LG

24、T游戲業(yè)務(wù)在所有內(nèi)容業(yè)務(wù)中占據(jù)了30%的比例。日韓手機(jī)游戲營收占其增值業(yè)務(wù)總營收的近10%,但在我國這個比例還不到1%。目前我國有超過1億的手機(jī)上網(wǎng)用戶,龐大的用戶基數(shù)以及與日韓的市場差距,意味著我國手機(jī)游戲市場蘊(yùn)藏著一座巨大的“金礦”[1]。</p><p>  1.3 論文的主要工作與內(nèi)容安排</p><p>  本文主要介紹的是基于J2ME俄羅斯方塊游戲的設(shè)計與實現(xiàn),該軟件主要實現(xiàn)的

25、功能如下:</p><p>  1.能產(chǎn)生7種不同形狀的下墜物,其中的有兩對下墜物形狀相似,只是朝向不同。</p><p>  2.當(dāng)任何一層被填滿時,該層會消失,最多一次可以消除4行。</p><p>  3.當(dāng)游戲屏幕的頂端被下墜物接觸到且無法繼續(xù)下落,則游戲結(jié)束,屏幕顯示“Game over”字樣。</p><p>  4.游戲具有暫停

26、功能。</p><p>  5.具有積分功能,每次消除任何一行積滿行,都會得到相應(yīng)的分?jǐn)?shù)。</p><p>  完成后能使軟件在仿真軟件上運行并實現(xiàn)以上功能,而文章的具體內(nèi)容共分為6個章節(jié),各章節(jié)名稱與大致內(nèi)容如下:</p><p>  第一章 引言:主要介紹課題的研究背景與意義以及論文的內(nèi)容安排。</p><p>  第二章 游戲開發(fā)環(huán)境介

27、紹:主要是對游戲開發(fā)平臺J2ME與開發(fā)工具WTK軟件的介紹。</p><p>  第三章 俄羅斯方塊游戲介紹:主要介紹俄羅斯方塊游戲的背景、規(guī)則、游戲特性和該游戲的發(fā)展前景。</p><p>  第四章 游戲系統(tǒng)分析設(shè)計:主要講解游戲的系統(tǒng)解決方法、總體結(jié)構(gòu)以及游戲中斷處理流程。</p><p>  第五章 系統(tǒng)的實現(xiàn):主要介紹系統(tǒng)的源文件結(jié)構(gòu)由四個類組成,然后具體

28、地介紹游戲規(guī)則模塊與方塊處理模塊功能的實現(xiàn)。</p><p>  第六章 運行與測試:主要講解介紹所編寫的軟件各個要求實現(xiàn)的功能在仿真軟件上的實現(xiàn)。</p><p><b>  游戲開發(fā)環(huán)境介紹</b></p><p>  2.1 編程環(huán)境的介紹和選擇</p><p>  如今,移動網(wǎng)絡(luò)端開發(fā)主要有以下四種平臺。Bina

29、ry Runtime Environment for Wireless(BREW),Symbian,Window Mobile Smartphone和Java Micro Edition(Java ME)。以下是對這四種平臺的簡單介紹:</p><p>  1.Binary Runtime Environment for Wireless(BREW)</p><p>  BREW是基于高通

30、公司Code Division Multiple Acces(CDMA)技術(shù)的手機(jī)開發(fā)平臺,在北美和亞洲有部分無線通信服務(wù)提供商。它使用C或C++結(jié)合BREW API來開發(fā)BREW設(shè)備上的程序。和Java ME相同的是BREW能夠作為游戲和地磁手機(jī)操作系統(tǒng)之間的一個中介。而和Java ME不同的是BERW也支持本地代碼,能夠?qū)iT針對某一手機(jī)的處理器而編譯,而本地代碼一般要比對應(yīng)的解釋版本要快很多,但是在設(shè)備之間移植會花費很多技巧與功夫。

31、</p><p><b>  2.Symbian</b></p><p>  Symbian是一種開放的操作系統(tǒng),任何的設(shè)備制造商都能獲得使用許可。它支持C++、Java和Visual Basic等編程語言,但是大多數(shù)商業(yè)Symbian游戲都是用C++作為本地Symbian應(yīng)用程序來開發(fā)的,這使得它們和Java開發(fā)的游戲相比要快一些。</p><p

32、>  3.Window Mobile Smartphone</p><p>  在Window Mobile Smartphone平臺上,可以使用在編寫Pocket PC游戲時所使用的相同的工具和API。這就意味著要使用C、C++或C#編程語言并結(jié)合使用Window Mobile API。</p><p>  4.Java Micro Edition(Java ME)</p&g

33、t;<p>  Java Micro Edition(Java ME)是Sun Microsystem公司于1999年6月推出的。Java ME以往稱作J2ME, 根據(jù)Sun的定義:Java ME是一種高度優(yōu)化的Java運行環(huán)境,其廣泛用于為信息家電市場提供應(yīng)用服務(wù),這些信息家電包括電視機(jī)頂盒、傳呼機(jī)、個人商務(wù)助理(PDA) 、移動電話、POS終端和其他消費類電子設(shè)備。 JAVA ME技術(shù)在1999年的JavaOne De

34、veloper Conference大會上正式推出,它將Java語言的與平臺無關(guān)的特性移植到小型電子設(shè)備上,允許移動無線設(shè)備之間共享應(yīng)用程序,它和Java SE、Java EE一起構(gòu)成Java技術(shù)的三大版本,并且同樣是通過JCP(Java Community Process)制訂的[2]。</p><p>  對于俄羅斯方塊游戲的設(shè)計與實現(xiàn),這里選擇使用Java Micro Edition英文縮寫為J2ME,因為

35、J2ME是目前最占優(yōu)勢的移動軟件開發(fā)技術(shù),全球手機(jī)制造商中,Java ME有著最廣泛的工業(yè)支持,據(jù)統(tǒng)計2007年約有4.5億支持Java的手機(jī)銷售出去,占整個市場的百分之七十五,并可能繼續(xù)發(fā)展其市場份額。</p><p>  還有很重要的一點,我們都知道無線移動設(shè)備的屏幕相比計算機(jī)要小許多,而且計算能力兩者目前無法相比,Java ME是Java SE的子集和簡化功能集,它支持一個較小的功能集,這些功能很適合無線移

36、動設(shè)備。Java ME擁有豐富的應(yīng)用程序接口(API)和一組可以靈活調(diào)用的開發(fā)工具,依靠的不是本地應(yīng)用程序代碼,而是通用的字節(jié)碼,它的程序移植到不同的手機(jī)比較容易,不需廢多大的力氣,相比其他開發(fā)工具優(yōu)勢比較明顯。</p><p>  由于Java語言自身的特點,和系統(tǒng)的關(guān)聯(lián)不大,所以開發(fā)速度很快,程序的開發(fā)周期比較短。另一方面從技術(shù)入門的角度來說,由于Java語言相當(dāng)?shù)钠占?,而對于有一定Java語言基礎(chǔ)的人來說,

37、學(xué)習(xí)J2ME技術(shù)的門檻很低,所以J2ME技術(shù)的普及速度很快,在編寫俄羅斯方塊游戲時,遇到問題通過學(xué)習(xí)相對要容易解決。但是J2ME也有其技術(shù)的劣勢,其一是功能有限,為了實現(xiàn)J2ME技術(shù)的移植性,J2ME技術(shù)無法實現(xiàn)系統(tǒng)的功能,例如讀取電話簿、短信息等系統(tǒng)內(nèi)容,卻無法開發(fā)手機(jī)上的系統(tǒng)軟件。其次是運行速度比較慢,由于J2ME技術(shù)運行在jvm基礎(chǔ)上,再加上手機(jī)硬件的限制,所以運行速度相對比較慢,不過這個速度還是在用戶可以接受的范圍之內(nèi)。最后是程

38、序大小受限制,在手機(jī)上J2ME技術(shù)開發(fā)的程序在程序大小上受到很大的限制,例如NOKIA S40系列的程序大小一般都限制在64KB以內(nèi),這個大大限制了J2ME程序的功能。不過在設(shè)計實現(xiàn)俄羅斯方塊游戲上,要求實現(xiàn)的功能沒有那么復(fù)雜,運行速度的要求也是不那么高,程序大小的要求也不高,所以這么些缺陷這設(shè)計俄羅斯方塊游戲時沒有太大的影響,所以選擇J2ME作為開發(fā)工具是理智的。</p><p>  2.2 Java ME W

39、ireless Toolkit軟件簡介</p><p>  Java ME Wireless Toolkit是軟件開發(fā)常用工具,簡稱J2ME WTK,全稱Java ME無線開發(fā)工具包。WTK是Sun公司提供的一個用于創(chuàng)建MIDP應(yīng)用程序的工具集。該工具集包含了生成工具(KToolbar)、實用程序集(Utilities)和設(shè)備仿真器(Emulator)等主要組件。J2ME WTK當(dāng)前的版本為2.52,支持由JCP

40、所定義的CLDC1.1(JSR 139) 、JTWI 1.0(JSR 185) 、WMA 2.0(JSR 205) 、MMAPI 1.1(JSR 135)等許多標(biāo)準(zhǔn)應(yīng)用程序編程接口(API)的功能。J2ME WTK2.2支持多種操作系統(tǒng),包括Windows操作系統(tǒng)和Red Hat linux操作系統(tǒng),并且有英文、日文、簡體中文和繁體中文幾個版本。J2ME WTK2.2作為一個輕量級的IDE工具,沒有提供編輯功能,必須與其他文本編輯工具結(jié)

41、合在一起使用,也可以與Jbuilder、NetBeans和Eclipse等IDE集成使用。J2ME WTK2.2可以從Sun公司的網(wǎng)站通過注冊后免費獲取。</p><p>  WTK的安裝程序很簡單,但是有一點需要注意,因為WTK軟件自身并沒有附帶Java的運行環(huán)境JDK,所以,在安裝WTK之前需要先安裝JDK。WTK會首先自動檢測當(dāng)前系統(tǒng)已有的Java虛擬機(jī),然后顯示出當(dāng)前虛擬機(jī)所在路徑,在確定無誤后,按繼續(xù),

42、最后安裝成功后,您將得到一個包括多種實用工具的開發(fā)包,目錄如圖2-1所示:</p><p>  圖2-1 WTK目錄結(jié)構(gòu)</p><p>  WTK的目錄結(jié)構(gòu)包括以下幾個目錄以及該目錄包含的內(nèi)容:   </p><p>  appdb目錄: RMS數(shù)據(jù)庫信息   </p><p>  apps目錄: WTK自帶的demo程序   </

43、p><p>  bin目錄: J2ME開發(fā)工具執(zhí)行文件   </p><p>  docs目錄: 各種幫助與說明文件   </p><p>  lib目錄: J2ME程序庫,Jar包與控制文件   </p><p>  session目錄:性能監(jiān)控保存信息   </p><p>  wtklib目錄: JWTK主程序與模擬

44、器外觀   </p><p>  WTK是用來開發(fā)MIDP的,為了讓MIDlet能順利編譯和執(zhí)行,WTK必須具有CLDC和MIDP的類庫,它可以幫助我們省去額外安裝調(diào)試這些類庫的時間。而不同版本的WTK包含的程序庫內(nèi)容是不一樣的,例如2.0版本中包含了midpapi.jar, wma.jar, mmapi.jar,而在2.1版本中則變?yōu)榱薱ldcapi10. jar, cldcapi11.jar, midpapi

45、10.jar, midpapi20.jar, wma.jar以及mmapi.jar;在2.2中,wma.jar又細(xì)分為wma11.jar, wma20.jar。如果您在開發(fā)中需要某個特定的jar包而當(dāng)前的WTK版本又沒有時,您可以簡單把這個jar包拷貝如當(dāng)前WTK的lib文件夾即可。apps目錄中包含有許多Demo程序,能為我們演示J2ME的一些技術(shù)實例,它們可是很好的學(xué)習(xí)材料[3]。</p><p>  2.3

46、 Java ME Wireless Toolkit開發(fā)環(huán)境的介紹</p><p>  在J2ME WTK中,各MIDlet套件被組織成一個個項目。因此,一個項目的最終結(jié)果就是一個MIDlet套件。項目中包含用于生成MIDlet套件的所有文件,包括Java源文件、資源文件以及MIDlet清單文件和應(yīng)用程序描述文件。J2ME WTK通過Ktboolbar對項目進(jìn)行新建、打開、設(shè)置、打包和運行等管理工作。啟動Ktoob

47、ar后就可看到控制臺窗口,如圖2-2所示:</p><p>  圖2-2 控制臺窗口</p><p>  新建項目后,需輸入項目的名稱和藥編寫的MIDlet類的名稱,其中MIDlet類名必須和主類名稱一致,新建界面如圖2-3所示:</p><p>  圖2-3 新建項目對話框</p><p>  新建完成后單擊“設(shè)置”,將自動彈出項目設(shè)置

48、窗口,通過其中的各個選項可以設(shè)置項目的生成環(huán)境,如圖2-4所示:</p><p>  圖2-4 項目設(shè)置窗口</p><p>  如果采用省缺選項,只需單擊“確定”關(guān)閉窗口即可,此時,KToolbar控制臺的窗口標(biāo)題將更改為新的項目名稱。并且,控制臺中害將顯示一些消息,表明新建項目的源代碼、資源文件和庫文件所儲存的確切位置,如圖2-5所示:</p><p>  圖

49、2-5 新建項目后控制臺顯示的消息</p><p>  如果要直接運行MIDP應(yīng)用程序,只需在程序組中直接選擇“運行(R)”即可,在彈出對話框中選擇其它路徑中的JAD程序運行,JAD描述文件與其對應(yīng)的JAR文件要在同一個目錄下,需要注意的是運行目錄路徑中不能包含中文。KToolBar的生成功能會將源代碼編譯并預(yù)先審核,但并不會產(chǎn)生JAR 文件,如果要發(fā)布MIDP程序,除了JAD描述文件,還必須打包成JAR文件。

50、在KToolbar菜單中選擇項目然后選擇包,再選擇產(chǎn)生包就可以把整個程序和資源文件打包成JAR文件。形成的JAR文件保存在項目所對應(yīng)的bin目錄下。另外除了產(chǎn)生包之外還有產(chǎn)生混淆包的功能,可以防止別人反編譯后讀取源代碼。</p><p>  最后為了盡可能模擬手機(jī)運行環(huán)境,可以在菜單中選擇編輯,然后選擇偏好,選擇自己想要的手機(jī)模擬環(huán)境,如圖2-6所展示:</p><p>  圖2-6 模

51、擬手機(jī)環(huán)境“偏好”的選擇</p><p>  3 俄羅斯方塊游戲介紹</p><p>  3.1 俄羅斯方塊游戲的背景和規(guī)則</p><p>  俄羅斯方塊游戲是一款簡單又經(jīng)典的方塊匹配游戲,它是款相當(dāng)直觀的游戲,一款關(guān)于墜落碎片重新組合的簡單游戲,哪怕新手也會很自然地想要把它們排列拼湊起來,它會激起普通人想把雜亂的事物整理成有規(guī)則的形狀的想法,這是一種自然天性,各

52、種方塊的突出點和缺口可以完整地組合。在操控性方面,更是簡單得徹底,只需操作方向鍵就可以對游戲進(jìn)行全盤控制,可謂是最簡單的游戲操作,這也正符合手機(jī)上運行游戲的條件,因為不需要太多的按鍵。說句玩笑話,俄羅斯方塊可謂是過去二十年間最浪費人們時間的事物之一。它也曾被評選為歷史上最偉大的游戲之一,起源大概要追溯到八十年代中期,是由俄羅斯人阿列克謝·帕基特諾夫(Alexey Pazhitnov)發(fā)明的,而它的人氣自開發(fā)出來一直到幾年后才開

53、始顯露出來。</p><p>  游戲的概念相當(dāng)簡單,現(xiàn)在已成為一種公認(rèn)的規(guī)則:從屏幕頂部以隨機(jī)順序落下不同形狀的碎片,玩家要試圖把它們拼湊成沒有空隙的行列,每充滿一行就消去這一行,得到相應(yīng)的分?jǐn)?shù),而最多可以同時消去四行,得到更多的分?jǐn)?shù),當(dāng)玩家進(jìn)行游戲方塊填充上去,接觸到屏幕頂端但下面的方塊無法消去時游戲就宣告失敗。這款游戲有一特點,就是玩家是沒有辦法贏得比賽的,因為堅持的時間越長,方塊下落的速度就會變得越來越快

54、,而游戲的吸引力就在于使玩家頂住碎塊的進(jìn)攻,支撐的時間比上一次更長,贏得更多的分?jǐn)?shù)。俄羅斯方塊舉世聞名的游戲性,在該游戲新鮮出爐時就顯得非常直觀,深受眾多游戲玩家的好評。</p><p>  3.2 俄羅斯方塊游戲的特性</p><p>  俄羅斯方塊游戲具有五大主要特性:</p><p>  1.簡單易學(xué),容易操作:</p><p>  俄

55、羅斯方塊游戲真正杰出的地方是在于它的游戲機(jī)制非常非常簡單,淺顯易懂。玩好這個游戲只需上下左右的方向鍵以及暫停和旋轉(zhuǎn)需要的鍵,所有的操作都在屏幕上一覽無余,這樣的話,不論玩家是否熟悉計算機(jī)游戲,都可以很好的去駕馭上面的方塊,去拼湊他們,因為整理拼湊各種形狀的碎片是人類與生具有的能力。但是,玩家卻永遠(yuǎn)不可能完全掌握這個游戲,因為這個游戲在理論上可以玩無限長的時間,只要玩家不輸。</p><p><b>  

56、2.單屏游戲:</b></p><p>  俄羅斯方塊的游戲另一個明顯特性是它的游戲內(nèi)容全部反映在一個屏幕上,包括積分,下一個到來的方塊等信息。即游戲玩家可以在同一時間看到整個游戲環(huán)境,在這個基礎(chǔ)上可以決定如何處理手上的這塊碎片。這個游戲中沒有任何的探索成分在內(nèi),不會嚇著玩家也不會給玩家驚喜,非常的平淡??偟膩碚f玩家能看到讓游戲順利進(jìn)行下去幾乎所有的信息,所以玩家輸了的話只能怪自己的判斷和思考。<

57、;/p><p><b>  3.無限游戲:</b></p><p>  在游戲過程中只要碎塊還沒有堆到屏幕頂端,這游戲就會一直進(jìn)行下去,無論玩家犯多少錯誤。但是每次游戲都是失敗而告終的,沒有人能真正贏得這個游戲,除非玩家玩的版本有最高分限制。玩家可以在游戲過程中累積經(jīng)驗,找到堅持更久的技巧,讓游戲水平不斷地提高,這就是俄羅斯方塊相比普通拼圖游戲的一大魅力所在,因為玩家成功

58、完成了一幅拼圖,只要他還記得是如何拼湊的,那么這個拼圖對他而言就沒有挑戰(zhàn)性了,所以大家通常不會多次玩一個拼圖,但俄羅斯方塊這個設(shè)計精巧的游戲卻能讓玩家玩上一遍又一遍,一直保持吸引力。</p><p><b>  4.無限生命</b></p><p>  和許多街機(jī)游戲不同,俄羅斯方塊游戲不會因為玩家因為一次失誤而結(jié)束,只要方塊不堆積到屏幕頂端。因為游戲的設(shè)計允許玩家犯

59、一定的錯誤,卻不會立即敗下陣來,所以當(dāng)游戲碎塊堆積在長方形盒子的底部時,玩家可以清楚地看到自己的失誤情況,在失敗前,他還是有一定的時間思考如何把后面的碎塊拼湊得更合理,從而獲取更多的分?jǐn)?shù)。就這樣,俄羅斯方塊游戲雖然沒有給玩家多條生命,但卻在游戲重新開始前,給予游戲玩家一個思考游戲技巧以及獲得一定成就的機(jī)會。</p><p><b>  5.最高分制度</b></p><p

60、>  俄羅斯方塊游戲具有一個計分模式,它能夠給玩家計分并把分?jǐn)?shù)記錄在積分排行榜上面,能夠讓玩家本人或其他玩家查看之前的一些記錄。其實,因為玩家不可能贏得游戲,所以,為了打破之前的記錄或者挑戰(zhàn)朋友的高分,讓玩家充滿斗志并且興趣濃厚,繼續(xù)尋找方法提高技術(shù)來贏得更多的分?jǐn)?shù),從來在高分排行榜上記錄自己的名字。</p><p>  3.3 俄羅斯方塊游戲的發(fā)展前景</p><p>  1984

61、年6月,在俄羅斯科學(xué)院計算機(jī)中心工作的數(shù)學(xué)家帕基特諾夫利用空閑時間編出一個游戲程序,原本是用來測試當(dāng)時一種計算機(jī)的性能,因為他愛玩拼圖,突然產(chǎn)生靈感,設(shè)計出了舉世聞名的俄羅斯方塊游戲。直到一年后,他把這個程序移植到個人計算機(jī)上運行,俄羅斯方塊從此開始傳播開來。</p><p>  而在1988年,羅杰斯在美國拉斯韋加斯的一個展覽會上看到了俄羅斯方塊游戲,覺得很有趣味,而且發(fā)現(xiàn)其他人也喜歡。作為宜個游戲?qū)I(yè)人士,羅

62、杰斯立刻嗅到了巨大的商機(jī),隨后他與日本游戲廠商任天堂達(dá)成口頭協(xié)議,出發(fā)前往莫斯科。</p><p>  由于帕基特諾夫把俄羅斯方塊授權(quán)給了他工作的計算機(jī)中心,使其成為了公有財產(chǎn),所以羅杰斯面對的談判對象是當(dāng)時蘇聯(lián)政府的代表,最終羅杰斯于1989年代表任天堂取得了俄羅斯方塊游戲在家用計算機(jī)機(jī)上的授權(quán)。而羅杰斯與帕基特諾夫因此相識,并且成了好朋友,這奠定了此后許多年中他們圍繞俄羅斯方塊進(jìn)行密切合作的基礎(chǔ)。</p

63、><p>  在蘇聯(lián)解體后,帕基特諾夫在羅杰斯的幫助下移民美國,繼續(xù)從事游戲開發(fā)。1996年,他拿回了俄羅斯方塊的知識產(chǎn)權(quán),與好友羅杰斯一起成立了藍(lán)色行星軟件公司,由該公司獨家代理俄羅斯方塊游戲的授權(quán)事務(wù)。</p><p>  小方塊拼湊的魅力經(jīng)久不衰,截至2009年,俄羅斯方塊游戲發(fā)售了1.25億份,受到50多個國家和地區(qū)的玩家喜愛,有超過50種語言的版本,運行在幾十種游戲平臺上,從掌機(jī)、街

64、機(jī)、個人電腦,到手機(jī)和PDA。而移動設(shè)備已經(jīng)成為俄羅斯方塊游戲新的主要平臺,該領(lǐng)域的發(fā)售量已超過7500萬份,并且仍在快速增長中。而在北美和歐洲俄羅斯方塊網(wǎng)絡(luò)版的官方網(wǎng)站上,每天超過100萬人玩這個游戲。</p><p>  俄羅斯方塊因此獲得了許多獎勵,在多項評選中被評為最經(jīng)典的游戲之一。2002年,一名過分沉迷此游戲的英國玩家在飛機(jī)上用手機(jī)玩俄羅斯方塊游戲,而且不聽機(jī)組人員的勸阻,結(jié)果被判刑入獄4個月,這個獨

65、特的事件可以反映出該游戲的獨特魅力。</p><p>  如今25年過去了,電子游戲業(yè)發(fā)生了翻天覆地的變化,擁有高畫質(zhì)高操作性的網(wǎng)絡(luò)游戲紛紛出現(xiàn),開辟并占據(jù)了新的市場。如此,俄羅斯方塊這樣的游戲還有前途嗎?答案是肯定有前途的,因為俄羅斯方塊是一個休閑游戲,首先它面對的是那些沒有精力或興趣玩大型游戲的玩家,這些人只是需要一類簡單好玩的游戲來消遣和打發(fā)時間,拿起來就能進(jìn)入狀態(tài),在忙碌的生活中尋求片刻放松,因為俄羅斯方

66、塊游戲?qū)τ布囊筝^低,所以再目前的大都移動設(shè)備來說都可以運行,這大大的提高了其普遍性。而在中國市場,羅杰斯說他正在與中國騰訊公司商談,研究將俄羅斯方塊集成到即時通訊軟件QQ中去的事宜。他還將參加今年7月份在中國舉行的國際數(shù)碼互動娛樂展覽會,與聯(lián)眾等中國游戲企業(yè)探討合作前景。雖然是一款小小的方塊拼湊游戲,其發(fā)展前景依然一片光明,特別是在小型移動設(shè)備上,如圖3-1所示,游戲界面與操作按鈕非常直觀。</p><p>

67、  圖3-1 模擬在移動設(shè)備上運行俄羅斯方塊游戲的情景</p><p>  4 游戲系統(tǒng)分析設(shè)計</p><p>  4.1 系統(tǒng)解決方案</p><p>  本系統(tǒng)的操作系統(tǒng)為大家所熟悉的Windows XP,以Java Micro Edition Wireless Toolkit 2.52作為開發(fā)工具,用中文版eclipse做為代碼編輯器而實現(xiàn)的。在KTool

68、Bar開發(fā)包中菜單編輯中的偏好選擇DefaultColorPhone模擬器,進(jìn)行調(diào)試和運行。</p><p>  4.2 系統(tǒng)總體結(jié)構(gòu)</p><p>  本系統(tǒng)開發(fā)的主要任務(wù)是基于J2ME的俄羅斯方塊游戲能在無線移動端設(shè)備上實現(xiàn)。游戲的操作流程非常簡單,用戶啟動MIDlet后,馬上就進(jìn)入游戲的歡迎畫面,當(dāng)用戶按下[開始]按鈕后,就可以開始玩游戲了,用戶想暫停時,再次按一下[開始]按鈕,游

69、戲就暫停了,在暫停的情況下再按[開始]按鈕,游戲繼續(xù)運行。任何時候按 [退出]按鈕,游戲MIDlet都會終止。該流程圖如圖4-2所示:</p><p>  圖4-2 游戲畫面流程圖</p><p>  而根據(jù)游戲的內(nèi)容,俄羅斯方塊游戲最重要的組成是它各式各樣的方塊,還有像消去積滿行得到相應(yīng)的分?jǐn)?shù)等游戲規(guī)則。要實現(xiàn)這些功能,游戲可分為兩個模塊:方塊處理模塊和游戲規(guī)則模塊。</p>

70、;<p>  4.2.1 方塊處理模塊</p><p>  本系統(tǒng)中的方塊處理模塊主要有7種形狀的下墜物,每種形狀的下墜物都是由4個基礎(chǔ)正方形小方塊組成,其中兩種下墜物的形狀是差不多的,只是所朝方向不同而已,如下圖4-2所示:</p><p>  圖4-2 各種形狀的下墜物</p><p>  4.2.2 游戲規(guī)則模塊</p><

71、p>  本系統(tǒng)中的游戲規(guī)則模塊主要任務(wù)是實現(xiàn)俄羅斯方塊游戲的基本規(guī)則。從游戲屏幕的頂端,從7種形狀的下墜物中隨機(jī)選擇一種下落,在下落過程中可以選擇快速下路,可以控制下墜物旋轉(zhuǎn),直至不能繼續(xù)下落,當(dāng)下墜物接觸到游戲屏幕頂端且無法繼續(xù)下落時,游戲結(jié)束,而每填充滿一行或多行,消去填充滿的,得到相應(yīng)的積分,記錄游戲最高分??偟膩碚f游戲規(guī)則由隨機(jī)生成下墜物,消減積滿行,快速下落,方塊旋轉(zhuǎn),分?jǐn)?shù)計算組成。結(jié)構(gòu)圖如圖4-3所示:</p&g

72、t;<p>  圖4-3 游戲規(guī)則模塊的結(jié)構(gòu)圖</p><p>  4.3 游戲中斷處理流程</p><p>  在運行游戲時,玩家可隨時暫停游戲或直接結(jié)束游戲,也可以再暫停情況下結(jié)束游戲。中斷處理是移動設(shè)備程序生命周期的重要組成特性,包括掛起階段(pauseApp)、運行階段(startApp)和結(jié)束階段(destroyApp),各階段轉(zhuǎn)換處理如圖4-4所示:</p

73、><p>  圖4-4 系統(tǒng)生命周期圖</p><p>  即玩家在運行游戲時,可以暫停游戲,使之處理掛起階段,暫停時可以直接結(jié)束游戲,也可以喚醒繼續(xù)進(jìn)行游戲,當(dāng)然運行游戲時同樣可以直接結(jié)束游戲,使之直接轉(zhuǎn)換到結(jié)束階段。</p><p><b>  5 系統(tǒng)的實現(xiàn)</b></p><p>  5.1 系統(tǒng)源文件結(jié)構(gòu)<

74、;/p><p>  本系統(tǒng)由4個類組成實現(xiàn)所有功能,項目名稱為xuqh,MIDlet名也為xuqh,所有實現(xiàn)系統(tǒng)功能的源文件都在src目錄下,其中xuqh.java為主類,如圖5-1所示:</p><p>  圖5-1 C盤中WTK2.52目錄下xuqh項目下的源文件所在位置</p><p>  5.2 游戲規(guī)則模塊</p><p>  5.2

75、.1 游戲規(guī)則模塊結(jié)構(gòu)</p><p>  本游戲的兩個模塊由3個類組成并且實現(xiàn) ,其中KetrisBlock.java,該類為處理生成下墜物及下落問題。第二個類KetrisCanvas.java,該類為處理游戲界面問題。第三個KetrisMap.java,該類為處理游戲畫布問題。游戲規(guī)則模塊由這3個類中的一些方法實現(xiàn),總結(jié)如下:</p><p>  消減積滿行由KetrisMap.jav

76、a類中的paint(Graphics)、check(Graphics,int)與deleteRow(Graphics,int)實現(xiàn)??焖傧侣溆蒏etrisCanvas.java類中的keyPressed(int)控制方塊方向的下移部分實現(xiàn)。方塊翻轉(zhuǎn)由KetrisBlock.java類中的paint(Graphics)與checkRot()方法實現(xiàn)。分?jǐn)?shù)計算由KetrisMap.java類中的init()方法與paintScore(Gra

77、phics)實現(xiàn)。而隨機(jī)生成下墜物由KetrisBlock.java類中的int()方法、readPattern(int[][][])以及KetrisCanvas.java類中的run()方法實現(xiàn),其中KetrisCanvas.java類中的run()方法實現(xiàn)了方塊的循環(huán)下落,代碼如下:</p><p>  public void run() {</p><p>  while (true

78、) {</p><p><b>  try {</b></p><p>  thread.sleep(50);</p><p><b>  }</b></p><p>  catch (InterruptedException e) {</p><p><b>  

79、break;</b></p><p><b>  }</b></p><p>  repaint();</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.2.2 游戲規(guī)則模塊功能</

80、p><p>  基于J2ME的俄羅斯方塊游戲的游戲規(guī)則模塊能實現(xiàn)的功能為隨機(jī)生成下墜物,消減積滿行,快速下落,方塊旋轉(zhuǎn),分?jǐn)?shù)計算。</p><p>  俄羅斯方塊游戲的下墜物是隨機(jī)生成的,主要由類KetrisBlock.java中的int()方法、readPattern(int[][][])實現(xiàn),部分代碼如下:</p><p>  protected void init

81、() {</p><p>  pattern = next;</p><p>  next = Math.abs(rand.nextInt()) % 7 + 1;</p><p>  /* 得到當(dāng)前下墜物 */</p><p>  switch (pattern) {</p><p><b>  case 1

82、:</b></p><p>  readPattern(blockpattern1);</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  readPattern(blockpattern2);</p>

83、<p><b>  break;</b></p><p><b>  case 3:</b></p><p>  readPattern(blockpattern3);</p><p><b>  break;</b></p><p><b>  case

84、4:</b></p><p>  readPattern(blockpattern4);</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  readPattern(blockpattern5);</p>

85、<p><b>  break;</b></p><p><b>  case 6:</b></p><p>  readPattern(blockpattern6);</p><p><b>  break;</b></p><p><b>  case

86、 7:</b></p><p>  readPattern(blockpattern7);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  /**</b></p><p>

87、  * 設(shè)置當(dāng)前下墜物變量的內(nèi)容</p><p>  * @param nowblock int[][][] 7種下墜物常量之一*/</p><p>  private void readPattern(int[][][] nowblock) {</p><p>  blockpattern = new int[4][4][4];</p><p&

88、gt;  for (int i = 0; i < 4; i++) {</p><p>  for (int j = 0; j < 4; j++) {</p><p>  for (int k = 0; k < 4; k++) {</p><p>  blockpattern[i][j][k] = nowblock[i][j][k];</p&g

89、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  游戲中一個重要環(huán)節(jié)消減積滿行的功能,就是將填滿的行刪除,變成背景的

90、顏色,而被刪除行的上面一行方塊則會相應(yīng)地下落,直至不能下落停止,其部分代碼如下:</p><p>  public void paint(Graphics g) {</p><p><b>  //清屏</b></p><p>  KetrisCanvas.clear(g);</p><p>  for (int i =

91、 0; i < 16; i++) {</p><p>  for (int j = 0; j < 12; j++) {</p><p>  if (mapdata[i][j] == 8) {</p><p>  KetrisBlock.drawBrick(KetrisCanvas.GAMEAREA_X +</p><p>  j

92、* KetrisCanvas.BRICK_WIDTH,</p><p>  KetrisCanvas.GAMEAREA_Y +</p><p>  i * KetrisCanvas.BRICK_WIDTH, g, 7);</p><p><b>  }</b></p><p><b>  }</b>

93、</p><p><b>  }</b></p><p><b>  }</b></p><p>  public boolean check(Graphics g, int row) {</p><p>  boolean deleteFlag = false;</p><p&

94、gt;  //最多可以連消4行</p><p>  int tmpRowNo;</p><p>  if (row + 4 >= 15) {</p><p>  tmpRowNo = 15;</p><p><b>  }</b></p><p><b>  else {</

95、b></p><p>  tmpRowNo = row + 4;</p><p><b>  }</b></p><p>  for (int y = row; y < tmpRowNo; y++) {</p><p>  boolean flag = true;</p><p>  

96、for (int x = 1; x < 11; x++) {</p><p>  if (mapdata[y][x] == 0) { /* 空白區(qū) */</p><p>  flag = false;</p><p><b>  }</b></p><p><b>  }</b></p&

97、gt;<p>  /* 需要消行 */</p><p>  if (flag) {</p><p>  mapBlockExist[y] = false;</p><p>  for (int x = 1; x < 11; x++) {</p><p>  mapdata[y][x] = 0;</p><

98、;p><b>  }</b></p><p>  deleteRow(g, y);</p><p>  deleteFlag = true;</p><p><b>  //加分</b></p><p>  score += 10;</p><p>  paintSco

99、re(g);</p><p><b>  //發(fā)聲</b></p><p><b>  try {</b></p><p>  if (player != null) {</p><p>  player.start();</p><p><b>  }</b

100、></p><p><b>  }</b></p><p>  catch (MediaException me) {</p><p>  System.out.println("sound not availible");</p><p><b>  }</b></

101、p><p><b>  }</b></p><p><b>  }</b></p><p>  return deleteFlag;</p><p><b>  }</b></p><p>  //刪除行,只是簡單的把該行置黑</p><

102、p>  protected void deleteRow(Graphics g, int y) {</p><p>  g.setColor(KetrisCanvas.BACKGROUD);</p><p>  g.fillRect(KetrisCanvas.GAMEAREA_X + KetrisCanvas.BRICK_WIDTH,</p><p>  Ke

103、trisCanvas.GAMEAREA_Y + y * KetrisCanvas.BRICK_WIDTH,</p><p>  10 * KetrisCanvas.BRICK_WIDTH, KetrisCanvas.BRICK_WIDTH);</p><p><b>  }</b></p><p>  游戲效果圖如圖5-2與5-3所示:<

104、/p><p>  圖5-2 消除積滿行功能實現(xiàn)前 圖5-3 消除積滿行效果實現(xiàn)后</p><p>  而分?jǐn)?shù)計算的功能代碼如下:</p><p>  public void init() {</p><p><b>  //清除計分</b></p><p>  score = 0;

105、</p><p>  //先把全部元素清0</p><p>  for (int i = 0; i < 16; i++) {</p><p>  for (int j = 0; j < 12; j++) {</p><p>  mapdata[i][j] = 0;</p><p><b>  }&

106、lt;/b></p><p>  mapBlockExist[i] = false;</p><p><b>  }</b></p><p><b>  //設(shè)置2堵墻</b></p><p>  for (int i = 0; i < 16; i++) {</p><

107、;p>  mapdata[i][0] = 8;</p><p>  mapdata[i][11] = 8; }</p><p><b>  //設(shè)置容器底</b></p><p>  for (int i = 0; i < 12; i++) {</p><p>  mapdata[15][i] = 8;

108、}</p><p>  mapBlockExist[15] = true; }</p><p>  private void paintScore(Graphics g) {</p><p><b>  //清除記分牌</b></p><p>  g.setColor(KetrisCanvas.BACKGROUD);&

109、lt;/p><p>  g.fillRect(KetrisCanvas.GAMEAREA_X + 12 * KetrisCanvas.BRICK_WIDTH,</p><p>  KetrisCanvas.GAMEAREA_Y + 6 * KetrisCanvas.BRICK_WIDTH,</p><p>  KetrisCanvas.BRICK_WIDTH * 4,

110、KetrisCanvas.BRICK_WIDTH * 4);</p><p><b>  //計分</b></p><p>  g.setColor(0, 255, 0);</p><p>  g.setFont(SCOREFONT);</p><p>  g.drawString("" + scor

111、e,</p><p>  KetrisCanvas.GAMEAREA_X + 14 * KetrisCanvas.BRICK_WIDTH,</p><p>  KetrisCanvas.GAMEAREA_Y + 8 * KetrisCanvas.BRICK_WIDTH,</p><p>  g.BASELINE | g.HCENTER);</p>&l

112、t;p><b>  }</b></p><p>  快速下落與方塊翻轉(zhuǎn)功能屬于游戲控制環(huán)節(jié),因為游戲畫布是一個CommandListener,能接受用戶的鍵盤命令,控制下墜物實現(xiàn)左移,右移,下移,翻轉(zhuǎn)的動作。</p><p>  5.3 方塊處理模塊</p><p>  5.3.1 方塊處理模塊結(jié)構(gòu)</p><p>

113、;  基于J2ME俄羅斯方塊游戲的7種下墜物,由4個正方形的基礎(chǔ)小方塊組成。</p><p>  而方塊處理模塊的所有功能由KetrisBlock.java類實現(xiàn),其實現(xiàn)了方塊的生成,使每種下墜物有固定的顏色,同時也實現(xiàn)了七種下墜物下落時不同翻轉(zhuǎn)方式的下落,下墜物翻轉(zhuǎn)方式分三種,分別是自由翻轉(zhuǎn)(Free)、兩面翻轉(zhuǎn)(Toggle)、不能翻轉(zhuǎn)(None),七種下墜物各自的翻轉(zhuǎn)方式如圖5-4所示:</p>

114、<p>  圖5-4 七種下墜物各自具體的翻轉(zhuǎn)方式</p><p>  而核心類KetrisBlock.java具體的方法如圖5-5所示:</p><p>  圖5-5 方塊處理模塊核心類KetrisBlock.java具體的方法圖</p><p>  5.3.2 方塊處理模塊功能</p><p>  在方塊處理模塊中,每種

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論