版權(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ì)</b></p><p> 課程名稱: 基于J2ME平臺(tái)的俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn) </p><p> 專業(yè)名稱: 計(jì)算機(jī)科學(xué)與技術(shù)(網(wǎng)絡(luò)工程) </p><p> 學(xué) 號(hào): &
2、lt;/p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p><b> 目錄</b></p><p><b> 摘要3<
3、;/b></p><p><b> 第一章 緒論6</b></p><p> 1.1手機(jī)游戲的前景與開(kāi)發(fā)6</p><p> 1.1.1 前景6</p><p> 1.1.2 開(kāi)發(fā)7</p><p> 1.2國(guó)內(nèi)外手機(jī)游戲的現(xiàn)況7</p><p>
4、 1.2.1 國(guó)內(nèi)手機(jī)游戲概況7</p><p> 1.2.2 國(guó)外手機(jī)游戲概況8</p><p> 1.3 俄羅斯方塊游戲開(kāi)發(fā)背景10</p><p> 1.4 本章小結(jié)10</p><p> 第二章J2ME——技術(shù)基礎(chǔ)12</p><p> 2.1什么是手機(jī)游戲12</p>&
5、lt;p> 2.2 J2ME簡(jiǎn)介12</p><p> 2.2.1 Java 2平臺(tái)劃分12</p><p> 2.2.2 J2ME概述13</p><p> 2.2.3 J2ME的配置14</p><p> 2.2.4 J2ME體系結(jié)構(gòu)15</p><p> 2.2.5 KVM簡(jiǎn)介17
6、</p><p> 2.2.6 MIDP17</p><p> 2.3 本章小結(jié)18</p><p> 第三章 系統(tǒng)設(shè)計(jì)18</p><p> 3.1 游戲規(guī)則設(shè)定18</p><p> 3.2 總體設(shè)計(jì)19</p><p> 3.3 系統(tǒng)設(shè)計(jì)的主要功能20</p&
7、gt;<p> 3.3.1游戲主體界面的繪制20</p><p> 3.3.2 游戲圖形的繪制21</p><p> 3.3.3 圖形的移動(dòng)與旋轉(zhuǎn)控制21</p><p> 3.3.4 游戲方塊的顏色選擇22</p><p> 3.3.5 俄羅斯方塊的自動(dòng)消行功能22</p><p>
8、 3.4 本章小結(jié)22</p><p> 第四章 系統(tǒng)實(shí)現(xiàn)22</p><p> 4.1 游戲主體功能的實(shí)現(xiàn)22</p><p> 4.1.1添加方塊到地圖數(shù)據(jù)23</p><p> 4.1.2 方塊變形24</p><p> 4.1.3 方塊移動(dòng)24</p><p>
9、 4.1.4 消行24</p><p> 4.2 其他功能的實(shí)現(xiàn)24</p><p> 4.3 本章小結(jié)24</p><p><b> 第五章 小結(jié)25</b></p><p><b> 致謝25</b></p><p><b> 參考文獻(xiàn)26
10、</b></p><p><b> 摘要</b></p><p> 隨著通信技術(shù)的發(fā)展和手機(jī)的普及,手機(jī)游戲的開(kāi)發(fā)技術(shù)越來(lái)越為人們所關(guān)注。以J2ME為開(kāi)發(fā)平臺(tái),利用Java提供強(qiáng)大工具,不但可以在手機(jī)上實(shí)現(xiàn)靜態(tài)HTML技術(shù)所無(wú)法實(shí)現(xiàn)的計(jì)算處理、數(shù)據(jù)存儲(chǔ)、與服務(wù)器的通信等功能,而且能夠開(kāi)發(fā)各種手機(jī)游戲。</p><p> J2M
11、E(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è)備的智能化、多樣化,提供了革命性的解決方案。</p><p> J2ME亦稱作Java ME,是為機(jī)頂盒、移動(dòng)電話和PDA之類嵌入式消費(fèi)電子設(shè)備提供的Java語(yǔ)言平臺(tái),包括虛擬機(jī)和一系列標(biāo)準(zhǔn)化的Java API。它和Java SE、Java EE一起構(gòu)
12、成Java技術(shù)的三大版本,并且同樣是通過(guò)JCP(Java Community Process)制訂的。</p><p> 俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲自動(dòng)輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。本文是應(yīng)用J2ME平臺(tái)實(shí)現(xiàn)俄羅斯方塊游戲界面、控制、顯示、播放、道具使用等游戲基本規(guī)則需求,游戲設(shè)計(jì)與實(shí)現(xiàn)平臺(tái)為J2ME。</p><p> 關(guān)鍵詞:Java 、J
13、2ME平臺(tái) 、 俄羅斯方塊</p><p><b> Abstract</b></p><p> With the development of communication technology and the popularity of mobile phones, mobile phone game development technology is more
14、 and more concern for people.To J2ME development platform, the use of Java provides a powerful tool, not only static HTML can not be achieved on the phone computing, data storage, communication with the server functions,
15、 and to develop a variety of mobile games.</p><p> J2ME (Java 2 Micro Edition) In recent years, with a variety of equipment, especially the rapid development of mobile communications equipment and the birth
16、 of a new development technology, it is positioned in the consumer electronics applications, intelligent devicesand diversified, providing a revolutionary solution.</p><p> J2ME also known as Java ME, Java
17、language platform for set-top boxes, mobile phones and PDAs, embedded consumer electronics devices, including virtual machine and a standardized set of Java APIs. And Java SE, the Java EE together constitute the three ve
18、rsions of the Java technology, and as the JCP (the Java Community Process) formulated.</p><p> The basic rules of Tetris move, rotation and placed in the game automatically output box, so arranged in a comp
19、lete one or more lines and eliminate the score. This is the application J2ME platform Tetris game interface, control, display, playback, demand for the use of props such as basic game rules, game design and implementatio
20、n platform for the J2ME.</p><p> Keywords: Java, J2ME platform, Tetris</p><p><b> 第一章 緒論</b></p><p> 1.1手機(jī)游戲的前景與開(kāi)發(fā)</p><p><b> 1.1.1 前景</b>&l
21、t;/p><p> 在地鐵、機(jī)場(chǎng)和車站,我們可以看到越來(lái)越多的人低頭玩著手機(jī)游戲,伴隨著不斷變化的表情,或皺眉或微笑。當(dāng)我們購(gòu)買(mǎi)新的手機(jī),也會(huì)發(fā)現(xiàn)越來(lái)越多嵌入手機(jī)系統(tǒng)的娛樂(lè)功能,特別是各種精彩的游戲。手機(jī)已經(jīng)成為許多人生活的一部分,人們也漸漸習(xí)慣于將手機(jī)作為新的娛樂(lè)工具。</p><p> 越來(lái)越多的人陶醉于手機(jī)游戲帶來(lái)的新鮮體驗(yàn)。由于手機(jī)的便攜性,使得手機(jī)游戲隨著手機(jī)的普及在全世界風(fēng)行起
22、來(lái)。到2003年,以中國(guó)大陸為例,手機(jī)在人們的生活中已經(jīng)扮演著舉足輕重的角色——平均每5人1部手機(jī)的擁有量首次超越了固定電話,隨身攜帶手機(jī)成了很多人自然而然的習(xí)慣。截止2003年的第四個(gè)季度,中國(guó)手機(jī)用戶突破了2.5億大關(guān),手機(jī)成為使用最頻繁的通信工具,進(jìn)而引爆了手機(jī)娛樂(lè)這個(gè)巨大的市場(chǎng)。</p><p> 而今的手機(jī)游戲種類繁多。最常見(jiàn)的是已經(jīng)內(nèi)嵌在手機(jī)中,比如很多品牌手機(jī)提供的“貪食蛇”游戲。這些是由手機(jī)制造
23、商開(kāi)發(fā),在出廠前就直接固化在手機(jī)中的游戲,用戶既不能添加也無(wú)法刪除,當(dāng)然玩的時(shí)候也無(wú)需付費(fèi)。第二種游戲也是提前固化在手機(jī)中,比如常見(jiàn)的移動(dòng)QQ,但這種游戲是游戲商和手機(jī)廠商合作的結(jié)果,用戶在玩游戲的時(shí)候需要支付一些費(fèi)用。還有一種則是供用戶自行選擇下載的游戲,用戶可以根據(jù)自己的興趣愛(ài)好和手機(jī)的硬件支持來(lái)決定下載某一款游戲,或是刪除已經(jīng)下載的游戲。通過(guò)這種方式,在手機(jī)有限的系統(tǒng)資源限制下,用戶可以不斷地體驗(yàn)新款游戲。由于可以滿足用戶的個(gè)性化
24、需求,下載類游戲顯示出了巨大的市場(chǎng)潛力,可能成為游戲產(chǎn)業(yè)新的增長(zhǎng)點(diǎn)。</p><p><b> 1.1.2 開(kāi)發(fā)</b></p><p> 現(xiàn)在手機(jī)應(yīng)用的通用開(kāi)發(fā)平臺(tái)主要有兩個(gè),一個(gè)是JAVA,一個(gè)是BREW。BREW是Binary Runtime Environment for Wireless(無(wú)線二進(jìn)制運(yùn)行環(huán)境)的縮寫(xiě),是美國(guó)高通公司(QUALCOMM)為無(wú)
25、線數(shù)據(jù)應(yīng)用程序開(kāi)發(fā)和執(zhí)行提供的通用接口。</p><p> JAVA是由Java虛擬機(jī)和Java核心類所構(gòu)成。它為純Java程序提供了統(tǒng)一的編程接口,而不管下層操作系統(tǒng)是什么。 </p><p> java是一個(gè)可以在不同操作系統(tǒng)(例如windows,unix等)上運(yùn)行的編程語(yǔ)言,java平臺(tái)是指運(yùn)行在各種終端(如pc、服務(wù)器、移動(dòng)設(shè)備、嵌入式設(shè)備)的系統(tǒng)軟件。PC機(jī)上的java程序是
26、用javaSE開(kāi)發(fā)出來(lái)的,服務(wù)器端的java程序是用javaEE開(kāi)發(fā)出來(lái)的,移動(dòng)設(shè)備的java程序是用javaME開(kāi)發(fā)出來(lái)的。</p><p> 1.2國(guó)內(nèi)外手機(jī)游戲的現(xiàn)況</p><p> 1.2.1 國(guó)內(nèi)手機(jī)游戲概況</p><p> 目前,手機(jī)游戲發(fā)展到了一個(gè)新的階段。Iphone手機(jī)以其超前的設(shè)計(jì)理念和華麗的外表征服了一大群青年人,越來(lái)越多的人使用蘋(píng)果
27、手機(jī)了。但是蘋(píng)果手機(jī)的獨(dú)特硬件條件,不一樣的操作系統(tǒng)和另類的操作模式,使得Iphone手機(jī)的游戲必須通過(guò)定制。也就是說(shuō),有部分手機(jī)游戲開(kāi)發(fā)商是基于特定的系列手機(jī)或是特定的操作系統(tǒng)設(shè)計(jì)的;也有部分開(kāi)發(fā)商是以通用手機(jī)開(kāi)發(fā)的。</p><p> 自從2003年,中國(guó)移動(dòng)推出了“移動(dòng)百寶箱”業(yè)務(wù)以后,國(guó)內(nèi)的手機(jī)游戲產(chǎn)業(yè)經(jīng)過(guò)前幾年的艱難成長(zhǎng)期以后,已經(jīng)成為繼短信業(yè)務(wù)之后,無(wú)線增值服務(wù)業(yè)務(wù)中的一大金礦。根據(jù)2009年市場(chǎng)調(diào)
28、查報(bào)告指出,“移動(dòng)百寶箱”業(yè)務(wù)注冊(cè)用戶已超過(guò)9000萬(wàn),這意味著,在中國(guó),有近9000萬(wàn)人嘗試過(guò)玩手機(jī)游戲?,F(xiàn)在全國(guó)手機(jī)用戶已超過(guò)了5億,而且人數(shù)還在不斷地增加中,面對(duì)如此大的一個(gè)市場(chǎng),諾基亞、摩托羅拉等手機(jī)終端生產(chǎn)廠商已經(jīng)越來(lái)越重視手機(jī)游戲?qū)κ謾C(jī)銷售的帶動(dòng)作用,以手機(jī)游戲?yàn)橘u(mài)點(diǎn)的手機(jī)產(chǎn)品在不斷地推出。</p><p> 游戲進(jìn)入手機(jī)是科技發(fā)展的必然趨勢(shì),不管是單機(jī)游戲還是網(wǎng)絡(luò)游戲都最終將逐步向手機(jī)平臺(tái)靠攏,或
29、者說(shuō),起碼一部分硬件要求不高的休閑益智類游戲已經(jīng)在向手機(jī)平臺(tái)靠攏了。</p><p> 現(xiàn)在國(guó)內(nèi)手機(jī)游戲與國(guó)外手機(jī)游戲仍存在一段不小的差距,具體體現(xiàn)在:</p><p><b> 1、產(chǎn)品創(chuàng)意</b></p><p> 這也就是通常所說(shuō)的設(shè)計(jì)理念和游戲策劃了。一款游戲的成功,很大程度上取決于游戲的創(chuàng)意和游戲的策劃。產(chǎn)品創(chuàng)意就如同軟件工程中
30、的需求分析一樣重要。國(guó)內(nèi)手機(jī)游戲往往是缺乏好的創(chuàng)意,只是一味的抄襲國(guó)外成功案例或移植PC機(jī)上比較經(jīng)典的案例。</p><p><b> 2、程序開(kāi)發(fā)</b></p><p> 雖然國(guó)內(nèi)手機(jī)游戲的發(fā)展歷程很短,只是近幾年才興起的,但其實(shí)并不缺少優(yōu)秀程序員??墒?,由于國(guó)內(nèi)并沒(méi)有大型的手機(jī)游戲公司,很多公司都是給日韓或歐美公司做游戲外包。國(guó)產(chǎn)游戲開(kāi)發(fā)商對(duì)資金投入的也不多
31、,這就導(dǎo)致優(yōu)秀人才的外流?,F(xiàn)在很多小型的國(guó)產(chǎn)手機(jī)游戲公司里的程序員都是只有幾年Java或C++編程經(jīng)歷的程序員轉(zhuǎn)型過(guò)來(lái)的,甚至有些公司為了節(jié)約成本,專門(mén)聘請(qǐng)剛大學(xué)畢業(yè)的本科生,這就導(dǎo)致很多游戲程序員是為了編程而編程;而國(guó)外的游戲程序員本來(lái)自身就對(duì)游戲有一定的熱愛(ài),在游戲編寫(xiě)過(guò)程中還能從玩家的角度考慮整個(gè)游戲的流程是否合理</p><p> 1.2.2 國(guó)外手機(jī)游戲概況</p><p>
32、 根據(jù)調(diào)查結(jié)果統(tǒng)計(jì)顯示,去年全球手機(jī)游戲市場(chǎng)的收入,包括流量收入,達(dá)到110億美元,其中亞洲市場(chǎng)占了大部分。目前國(guó)際手機(jī)游戲市場(chǎng)主要是日韓,歐洲和美國(guó)三足鼎立。</p><p><b> 1、日韓</b></p><p> 日本在手機(jī)游戲領(lǐng)域絕對(duì)處于領(lǐng)導(dǎo)地位。早在1999年,當(dāng)包括北美以及歐洲一些經(jīng)濟(jì)發(fā)達(dá)國(guó)家對(duì)手機(jī)游戲還一無(wú)所知的時(shí)候,日本已經(jīng)擁有超過(guò)30萬(wàn)的手機(jī)
33、游戲玩家,占了全世界手機(jī)游戲玩家的70﹪左右。日本手機(jī)游戲發(fā)展迅速有一個(gè)主要原因,是因?yàn)槿毡驹瓉?lái)就是游戲產(chǎn)業(yè)大國(guó)。世界上傳統(tǒng)游戲市場(chǎng)基本就由日本的索尼,任天堂,世嘉等游戲廠商所壟斷,他們掌握了豐富的PC游戲資源和大量的游戲素材,能很快的從一個(gè)平臺(tái)轉(zhuǎn)移到另一個(gè)平臺(tái)進(jìn)行開(kāi)發(fā)。</p><p> 韓國(guó)為了轉(zhuǎn)移國(guó)民對(duì)經(jīng)濟(jì)危機(jī)注意力,大力的推動(dòng)游戲產(chǎn)業(yè)的發(fā)展。在傳統(tǒng)游戲中,WCG已經(jīng)成為每個(gè)職業(yè)電子競(jìng)技玩家最高的夢(mèng)想。由
34、于有了政府大量?jī)?yōu)惠政策和充足的資金注入,在韓國(guó)催生了大批的手機(jī)游戲開(kāi)發(fā)商,大力的推動(dòng)了手機(jī)游戲的發(fā)展。</p><p><b> 2、歐洲</b></p><p> 雖然歐洲很早就推出了手機(jī)游戲業(yè)務(wù),第一款手機(jī)游戲“貪吃蛇”也是歐洲的諾基亞公司制作的,但2003年以前,歐洲的手機(jī)游戲市場(chǎng)還一直停留在短信游戲階段,與日韓相比,歐洲手機(jī)游戲市場(chǎng)相對(duì)要落后一些。<
35、/p><p> 不過(guò),隨著手機(jī)游戲市場(chǎng)的擴(kuò)大,越來(lái)越多的歐洲手機(jī)運(yùn)營(yíng)商看到了里面的商機(jī),大量引入日韓手機(jī)游戲運(yùn)作模式,這也極大的推動(dòng)了歐洲手機(jī)游戲的發(fā)展。</p><p><b> 3、美國(guó)</b></p><p> 雖然美國(guó)手機(jī)游戲的起步相對(duì)是最晚的,但其發(fā)展勢(shì)頭卻相當(dāng)迅速。2002年美國(guó)大多數(shù)移動(dòng)網(wǎng)絡(luò)速度進(jìn)行提升后,手機(jī)游戲的發(fā)展就更為迅
36、速了。如今,美國(guó)移動(dòng)運(yùn)營(yíng)商每周都在推出新的游戲,手機(jī)生產(chǎn)廠商也在不斷的推出支持新游戲的產(chǎn)品。從游戲提供的數(shù)量上來(lái)看,美國(guó)移動(dòng)運(yùn)營(yíng)商已經(jīng)大大超過(guò)了歐洲移動(dòng)運(yùn)營(yíng)商了。</p><p> 根據(jù)美國(guó)分析師表示,美國(guó)手機(jī)游戲業(yè)務(wù)的迅速發(fā)展,使得手機(jī)平臺(tái)有望</p><p> 成為繼電腦、控制桿、掌機(jī)游戲、互聯(lián)網(wǎng)之后的第五大游戲平臺(tái)。</p><p> 1.3 俄羅斯方塊
37、游戲開(kāi)發(fā)背景</p><p> 本文制作的手機(jī)游戲名為《俄羅斯方塊》。</p><p> 俄羅斯方塊上手極其簡(jiǎn)單,但是要熟練地掌握其中的操作與擺放技巧,難度卻不低。作為家喻戶曉老少皆宜的大眾游戲,其普及程度可以說(shuō)是史上任何一款游戲都無(wú)法相比的。但是,誰(shuí)知道這么優(yōu)秀的娛樂(lè)工具,出自哪位神人之手呢?顧名思義,俄羅斯方塊自然是俄羅斯人發(fā)明的。這位偉人叫做阿列克謝帕基特諾夫(Alexey Pa
38、zhitnov) 。</p><p> 俄羅斯方塊的一些基本規(guī)則:</p><p> 1、一個(gè)用于擺放小型正方形的平面虛擬場(chǎng)地,其標(biāo)準(zhǔn)大小:行寬為10,列高為20,以每個(gè)小正方形為單位;</p><p> 2、一組由4個(gè)小型正方形組成的規(guī)則圖形,英文稱為T(mén)etromino,中文通稱為方塊,共有7種,分別以S、Z、L、J、I、O、T這7個(gè)字母的形狀來(lái)命名(如圖)
39、;</p><p> 3、通過(guò)設(shè)計(jì)者預(yù)先設(shè)置的隨機(jī)發(fā)生器不斷地輸出單個(gè)方塊到場(chǎng)地頂部,以一定的規(guī)則進(jìn)行移動(dòng)、旋轉(zhuǎn)、下落和擺放,鎖定并填充到場(chǎng)地中。每次擺放如果將場(chǎng)地的一行或多行完全填滿,則組成這些行的所有小正方形將被消除,并且以此來(lái)?yè)Q取一定的積分或者其他形式的獎(jiǎng)勵(lì)。而未被消除的方塊會(huì)一直累積,并對(duì)后來(lái)的方塊擺放造成各種影響。</p><p> 4、如果未被消除的方塊堆放的高度超過(guò)場(chǎng)地所
40、規(guī)定的最大高度(并不一定是20或者玩家所能見(jiàn)到的高度),則游戲結(jié)束。</p><p><b> 1.4 本章小結(jié)</b></p><p> 本章詳盡地?cái)⑹隽耸謾C(jī)游戲的發(fā)展前景,以及本文所述游戲的一些背景與基本規(guī)則。</p><p> 第二章J2ME——技術(shù)基礎(chǔ)</p><p> 2.1什么是手機(jī)游戲</p&
41、gt;<p> 手機(jī)游戲是指運(yùn)行于手機(jī)上的游戲軟件。目前用來(lái)編寫(xiě)手機(jī)最多的程序是Java語(yǔ)言,見(jiàn)J2ME。其次是C語(yǔ)言。隨著科技的發(fā)展,現(xiàn)在手機(jī)的功能也越來(lái)越多,越來(lái)越強(qiáng)大。而手機(jī)游戲也遠(yuǎn)遠(yuǎn)不是我們印象中的什么“俄羅斯方塊”捕魚(yú)達(dá)人“貪吃蛇”之類畫(huà)面簡(jiǎn)陋,規(guī)則簡(jiǎn)單的游戲,進(jìn)而發(fā)展到了可以和掌上游戲機(jī)媲美,具有很強(qiáng)的娛樂(lè)性和交互性的復(fù)雜形態(tài)了。</p><p> 手機(jī)游戲有以下特點(diǎn):</p&
42、gt;<p> 1. 龐大的潛在用戶群</p><p> 全球在使用的移動(dòng)電話已經(jīng)超過(guò)10億部,而且這個(gè)數(shù)字每天都在不斷增加。在除美國(guó)之外的各個(gè)發(fā)達(dá)國(guó)家,手機(jī)用戶都比計(jì)算機(jī)用戶多。手機(jī)游戲潛在的市場(chǎng)比其他任何平臺(tái),比如PlayStation和GameBoy都要大。</p><p><b> 2. 便攜性</b></p><p&g
43、t; 在控制臺(tái)游戲時(shí)代,GameBoy熱銷的一個(gè)原因就是便攜性——人們可以隨時(shí)隨地沉浸在自己喜歡的游戲中,還可以隨時(shí)隨地?fù)屬?gòu)自己喜歡的裝備或?qū)櫸铩:陀螒蚩刂婆_(tái)或者PC相比,手機(jī)雖然可能不是一個(gè)理想的游戲設(shè)備,但畢竟人們總是隨時(shí)隨身攜帶,這樣手機(jī)游戲很可能成為人們消遣時(shí)間的首選。</p><p><b> 3. 支持網(wǎng)絡(luò)</b></p><p> 因?yàn)槭謾C(jī)是網(wǎng)絡(luò)設(shè)
44、備,在一定限制因素下可以實(shí)現(xiàn)多人在線游戲。</p><p> 2.2 J2ME簡(jiǎn)介</p><p> 2.2.1 Java 2平臺(tái)劃分</p><p> 認(rèn)識(shí)到一種結(jié)構(gòu)不可能適應(yīng)所有的情況,所以,Sun公司將Java劃分成3個(gè)不同的版本,每個(gè)版本都針對(duì)當(dāng)今計(jì)算機(jī)產(chǎn)業(yè)中的一個(gè)特定領(lǐng)域:</p><p> 1.J2EE(Java 2 p
45、latform,Enterprise Edition),用于企業(yè)為客戶、供應(yīng)商和員工的可升級(jí)的服務(wù)器解決方案。</p><p> 2.J2SE(Java 2 platform,Standard Edition),用于常見(jiàn)的桌面計(jì)算機(jī)市場(chǎng)和低端商務(wù)應(yīng)用提供解決方案。</p><p> 3.J2ME(Java 2 platform,Micro Edition),用于消費(fèi)產(chǎn)品和嵌入式設(shè)備的最
46、佳解決力一案。他們之間的關(guān)系如圖2-1所示:</p><p> 圖2-1 Java的體系結(jié)構(gòu)</p><p> 2.2.2 J2ME概述</p><p><b> J2ME 是什么?</b></p><p> Sun Microsystems 將 J2ME 定義為“一種以廣泛的消費(fèi)性產(chǎn)品為目標(biāo)的的高度優(yōu)化的 Ja
47、va 運(yùn)行時(shí)環(huán)境,包括尋呼機(jī)、移動(dòng)電話、可視電話、數(shù)字機(jī)頂盒和汽車導(dǎo)航系統(tǒng)?!?lt;/p><p> 自從 1999 年 6loper Conference 上聲明之后,J2ME 為小型設(shè)備帶來(lái)了 Java 語(yǔ)言的跨平臺(tái)功能,允許移動(dòng)無(wú)線設(shè)備共享應(yīng)用程序。有了 J2ME,Sun 已經(jīng)使 Java 平臺(tái)能夠適應(yīng)集成了或基于小型計(jì)算設(shè)備月在 JavaOne Deve的用戶產(chǎn)品。</p><p>
48、<b> J2ME 總體架構(gòu)</b></p><p> J2ME 使用配置和簡(jiǎn)表定制 Java 運(yùn)行時(shí)環(huán)境 (JRE)。作為一個(gè)完整的 JRE,J2ME 由配置和簡(jiǎn)表組成,配置決定了使用的 JVM,而簡(jiǎn)表通過(guò)添加特定于域的類來(lái)定義應(yīng)用程序。</p><p> 雖然 J2SE 虛擬機(jī)通常被稱為一種 JVM,但是 J2ME 虛擬機(jī)、KVM 和 CVM 都是 JVM
49、的子集。KVM 和 CVM 均可被看作是一種 Java 虛擬機(jī) -- 它們是 J2SE JVM 的壓縮版,并特定于 J2ME。</p><p> 2.2.3 J2ME的配置</p><p> 配置將基本運(yùn)行的環(huán)境定義為一套核心類和一個(gè)運(yùn)行在特定類型設(shè)備上的特定的JVM。J2ME分為兩個(gè)配置:一個(gè)是CDC(Connected Device Configuration),另一個(gè)是CLDC
50、(Connected Limited Device Configuration)。它們所針對(duì)的設(shè)備的CPU和內(nèi)存是不一樣的,所以它們所使用的虛擬機(jī)和核心類庫(kù)也不相同。CDC主要針對(duì)32位及75MHz以上的處理器,CLDC主要針對(duì)16位,32位及16MHz以上的處理器。CDC用的虛擬機(jī)是CVM,而CLDC用的是KVM。同其處理器和內(nèi)存能力相適應(yīng),CVM包含更多的虛擬機(jī)處理能力。CDC的核心類庫(kù)也比CLDC的要大。J2ME 環(huán)境可以被動(dòng)態(tài)地
51、配置為提供運(yùn)行應(yīng)用程序所需要的環(huán)境,而不用考慮是否為設(shè)備提供了運(yùn)行該應(yīng)用程序所需的所有Java技術(shù)庫(kù)。核心平臺(tái)接收應(yīng)用程序代碼和庫(kù)。運(yùn)行在網(wǎng)絡(luò)上的服務(wù)器軟件執(zhí)行配置工作。</p><p> CDC針對(duì)的設(shè)備主要是數(shù)字電視、頂置盒、網(wǎng)絡(luò)電話、車載計(jì)算設(shè)備和Server后端的一些應(yīng)用。這些設(shè)備的特點(diǎn)是有線連接,穩(wěn)定而持續(xù)的電源供應(yīng),設(shè)備資源比較受限。</p><p> CLDC簡(jiǎn)要描述了高
52、度限制設(shè)備上每個(gè)J2ME執(zhí)行所要求的一套最基本的庫(kù)和Java 虛擬機(jī)特征。所針對(duì)的設(shè)備主要是無(wú)線的手持設(shè)備,PDA或POS機(jī)。這些設(shè)備的特點(diǎn)是無(wú)線連接(帶寬受限,連接時(shí)斷時(shí)續(xù)),沒(méi)有穩(wěn)定的電源供應(yīng)(通常使用電池)且和資源極少。CLDC現(xiàn)在在國(guó)內(nèi)外用得比較廣泛的是手機(jī)上的使用,在日本和韓國(guó)已經(jīng)有了許多成功的實(shí)例。</p><p> CLDC的設(shè)計(jì)目標(biāo)是定義一個(gè)標(biāo)準(zhǔn)的,占用內(nèi)存極少的平臺(tái)來(lái)滿足資源很少的那些設(shè)備的要
53、求。它可以確保動(dòng)態(tài),安全地將交互式Java應(yīng)用部署到一些小的設(shè)備上去。確保 第三方的應(yīng)用開(kāi)發(fā)人員可以為別的設(shè)備開(kāi)發(fā)應(yīng)用程序。CLDC 1.0版由18個(gè)公司通過(guò)JCP組織來(lái)制定,它定義了所使用的Java虛擬機(jī)和核心類庫(kù)用在一些小的具有Java能力的設(shè)備空間。</p><p> KVM是CVM的一個(gè)子集,CLDC的核心類庫(kù)也大部分包含在CDC的核心類庫(kù)中,但CLDC也定義了一些自已的類庫(kù)。再加上外圍的Prof
54、ile和OEM extension API組成了一個(gè)完整的J2ME環(huán)境。</p><p> 2.2.4 J2ME體系結(jié)構(gòu)</p><p> J2ME的體系結(jié)構(gòu)是基于設(shè)備的類別的。一個(gè)類別定義了一個(gè)特定種類的設(shè)備:</p><p> 手機(jī)、簡(jiǎn)單尋呼機(jī)和電腦記事本都是單獨(dú)的類別。為了支持有限連接設(shè)備類別所要求的那種靈活性和可定制性,Snu公司將J2ME體系結(jié)構(gòu)設(shè)計(jì)
55、成模塊化的和可伸縮的。J2ME技術(shù)在一個(gè)完整的應(yīng)用程序運(yùn)行時(shí)模型中定義了這種模塊性和可伸縮性,在該模型中的三個(gè)軟件層都構(gòu)建在設(shè)備的主機(jī)操作系統(tǒng)上。圖2-2描述了J2ME的體系結(jié)構(gòu):</p><p> 圖2-2 J2EE體系結(jié)構(gòu)</p><p> 1.主機(jī)操作系統(tǒng)層(Host Operating Systeam Layer):這一層為特定硬件設(shè)備的操作系統(tǒng)層。</p>&l
56、t;p> 2.Java虛擬機(jī)層(Java Virtual Machine Layer):這一層是Java虛擬機(jī)的一個(gè)實(shí)現(xiàn),它是為特定設(shè)備的主機(jī)操作系統(tǒng)定制的,支持一個(gè)特定的J2ME配置。</p><p> 3.配置層(Configuration Layer):配置層定義Java虛擬機(jī)的功能和特定類別設(shè)備上可用的Java類庫(kù)的最小集。從某種程度上說(shuō),一個(gè)配置定義了Java平臺(tái)的功能部件和庫(kù)的共同性,開(kāi)發(fā)者
57、可以假設(shè)這些功能部件和庫(kù)在屬于某一特定類別的所有設(shè)備上都是可用的。這一層對(duì)用戶是透明的,但它對(duì)描述的實(shí)現(xiàn)者非常重要。</p><p> 4.描述層(Profile Layer):描述層定義了特定類別設(shè)備上可用的應(yīng)用程序編程接口的最小集。描述在一個(gè)特定的配置上實(shí)現(xiàn)。應(yīng)用程序是針對(duì)特定的描述編寫(xiě)的,因此可以移植到支持該描述的任何設(shè)備上。一個(gè)設(shè)備可以支持多個(gè)描述。用戶和應(yīng)用程序開(kāi)發(fā)者看到最多的就是這一層。Java虛擬
58、機(jī)層、配置層和描述層一起為J2ME應(yīng)用程序提供了一個(gè)標(biāo)準(zhǔn)的運(yùn)行時(shí)環(huán)境,這個(gè)環(huán)境允許新的應(yīng)用程序和服務(wù)動(dòng)態(tài)地被安裝到各種終端用戶設(shè)備上。在手機(jī)上,KVM,CLDC,MIDPP分別實(shí)現(xiàn)了J2ME體系結(jié)構(gòu)中的Java虛擬機(jī)層、配置層和描述層。下面,作者通過(guò)對(duì)KVM, CLDC, MIDP的詳細(xì)介紹,以加深讀者對(duì)手機(jī)上的J2ME體系結(jié)構(gòu)的認(rèn)識(shí)。</p><p> 2.2.5 KVM簡(jiǎn)介</p><p
59、> KVM 是最小的運(yùn)行時(shí)環(huán)境的一部分,包含在 Java 2 Platform, Micro Edition(J2ME 平臺(tái))軟件中,適用于那些內(nèi)存和 CPU 能力有限的設(shè)備。移動(dòng)電話、尋呼機(jī)和個(gè)人數(shù)字助理 (PDA) 中通常會(huì)運(yùn)行 KVM,用以提供常見(jiàn)的計(jì)算功能。 </p><p> KVM 類似于 JVM(Java 虛擬機(jī)),它也包含運(yùn)行用 Java 技術(shù)編寫(xiě)的應(yīng)用程序和小應(yīng)用程序的引擎。KVM 適
60、用于無(wú)線電話和移動(dòng)設(shè)備,而 JVM 則適用于計(jì)算機(jī)。Java 2 Platform, Standard Edition(J2SE 平臺(tái))包含 JRE、Plug-in 軟件和 JVM。 </p><p> J2ME 技術(shù)使用包括 KVM 在內(nèi)的許多不同大小的虛擬機(jī)。KVM 只是 CLDC(有限連接設(shè)備配置)的一項(xiàng)應(yīng)用,它用于在移動(dòng)設(shè)備上運(yùn)行 Java 軟件。 </p><p> 2.2.
61、6 MIDP</p><p> MIDP(Mobile Information Device Profile,移動(dòng)信息設(shè)備配置文件)建立在 CLDC 的基礎(chǔ)之上,用來(lái)描述手機(jī)和尋呼機(jī)這樣更加具體化的的無(wú)線移動(dòng)設(shè)備。</p><p> 對(duì)于 Java ME 平臺(tái),MIDP 定義了一個(gè)標(biāo)準(zhǔn)的 Java API 集合,此集合與聯(lián)網(wǎng)的受限設(shè)備配置 CLDC 一起提供了一個(gè)面向移動(dòng)信息設(shè)備(如移
62、動(dòng)電話、雙向?qū)ず魴C(jī)和無(wú)線個(gè)人電腦記事本)的完整 Java ME 應(yīng)用程序運(yùn)行環(huán)境。</p><p><b> 它的功能有:</b></p><p><b> ?顯示工具箱 </b></p><p><b> ?用戶輸入方法 </b></p><p> ?持久性數(shù)據(jù)存儲(chǔ)(
63、使用簡(jiǎn)單的面向記錄的數(shù)據(jù)庫(kù)模型) </p><p> ?基于HTTP 1.1 的網(wǎng)絡(luò)(使用 CLDC 通用連接框架)</p><p><b> 2.3 本章小結(jié)</b></p><p> 本章較為詳細(xì)地介紹了制作手機(jī)游戲的基礎(chǔ)平臺(tái)——J2ME。</p><p><b> 第三章 系統(tǒng)設(shè)計(jì)</b&g
64、t;</p><p> 3.1 游戲規(guī)則設(shè)定</p><p> 1、一個(gè)用于擺放小型正方形的平面虛擬場(chǎng)地,其標(biāo)準(zhǔn)大?。盒袑挒?0,列高為20,以每個(gè)小正方形為單位。 </p><p> 2、一組由4個(gè)小型正方形組成的規(guī)則圖形,英文稱為T(mén)etromino,中文通稱為方塊共有7種,分別以S、Z、L、J、I、O、T這7個(gè)字母的形狀來(lái)命名。 </p>&
65、lt;p> I:一次最多消除四層 </p><p> J(左右):最多消除三層,或消除二層 </p><p> L:最多消除三層,或消除二層 </p><p><b> O:消除一至二層 </b></p><p> S(左右):最多二層,容易造成孔洞 </p><p> Z (左
66、右):最多二層,容易造成孔洞 </p><p><b> T:最多二層 </b></p><p> (1)部分游戲有單格方塊,可以穿透固定的方塊到達(dá)最下層空位。其他的改版中出現(xiàn)更多特別的造型。 </p><p> 方塊會(huì)從區(qū)域上方開(kāi)始緩慢繼續(xù)落下。 </p><p> ?。?)玩家可以做的操作有:以90度為單位旋轉(zhuǎn)
67、方塊,以格子為單位左右移動(dòng)方塊,讓方塊加速落下。 </p><p> ?。?)方塊移到區(qū)域最下方或是著地到其他方塊上無(wú)法移動(dòng)時(shí),就會(huì)固定在該處,而新的方塊出現(xiàn)在區(qū)域上方開(kāi)始落下。 </p><p> (4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會(huì)消失并成為玩家的得分。同時(shí)刪除的列數(shù)越多,得分指數(shù)上升。 </p><p> ?。?)當(dāng)固定的方塊堆到區(qū)域最上方而
68、無(wú)法消除層數(shù)時(shí),則游戲結(jié)束。 </p><p> (6)一般來(lái)說(shuō),游戲還會(huì)提示下一個(gè)要落下的方塊,熟練的玩家會(huì)計(jì)算到下一個(gè)方塊,評(píng)估現(xiàn)在要如何進(jìn)行。由于游戲能不斷進(jìn)行下去對(duì)商業(yè)用游戲不太理想,所以一般還會(huì)隨著游戲的進(jìn)行而加速提高難度。 </p><p> 3、通過(guò)設(shè)計(jì)者預(yù)先設(shè)置的隨機(jī)發(fā)生器不斷地輸出單個(gè)方塊到場(chǎng)地頂部,以一定的規(guī)則進(jìn)行移動(dòng)、旋轉(zhuǎn)、下落和擺放,鎖定并填充到場(chǎng)地中。每次擺放
69、如果將場(chǎng)地的一行或多行完全填滿,則組成這些行的所有小正方形將被消除,并且以此來(lái)?yè)Q取一定的積分或者其他形式的獎(jiǎng)勵(lì)。而未被消除的方塊會(huì)一直累積,并對(duì)后來(lái)的方塊擺放造成各種影響。 </p><p> 4、如果未被消除的方塊堆放的高度超過(guò)場(chǎng)地所規(guī)定的最大高度(并不一定是20或者玩家所能見(jiàn)到的高度),則游戲結(jié)束。 </p><p> 具體到每一款不同的游戲,其中的細(xì)節(jié)規(guī)則都可能有千差萬(wàn)別,但是以
70、上的基本規(guī)則是相同的。</p><p><b> 3.2 總體設(shè)計(jì)</b></p><p> 本游戲的操作流程分為如下幾步:</p><p> (1).用戶啟動(dòng)MIDlet后,首先進(jìn)入Master/Slave選擇畫(huà)面,如選擇Slave,則向周圍廣播自己的服務(wù),然后等待;如是Master,則搜索周圍的服務(wù)。Master端在搜索到服
71、務(wù)后,將Slave端的服務(wù)描述信息現(xiàn)實(shí)在屏幕上。</p><p> (2).Master選擇想聯(lián)機(jī)游戲的Slave(廣播服務(wù)可以是多個(gè)),建立連接。</p><p> (3).按“開(kāi)始”鍵,判斷遠(yuǎn)端的玩家是否已經(jīng)同意開(kāi)始游戲(此時(shí)進(jìn)入等待狀態(tài)),如沒(méi)有同意,則繼續(xù)等待,并發(fā)送“等待”信號(hào)給遠(yuǎn)端玩家。</p><p> (4).按“開(kāi)始”鍵,如遠(yuǎn)端玩家已經(jīng)“等待
72、”,則“初始化”游戲,同時(shí)發(fā)送該信號(hào)給遠(yuǎn)端玩家。</p><p> (5).開(kāi)始游戲后,再按“開(kāi)始”鍵,則暫停或游戲狀態(tài)之間互相切換。</p><p> (6).如受到對(duì)方游戲結(jié)束信號(hào),則主屏上顯示勝利畫(huà)面,副屏上顯示失敗畫(huà)面,如自己失敗,則主屏上顯示失敗畫(huà)面,副屏上顯示勝利畫(huà)面,并發(fā)送該信號(hào)給遠(yuǎn)端玩家。</p><p> (7).如遠(yuǎn)端玩家退出或斷開(kāi),則本地
73、游戲玩家繼續(xù),代表遠(yuǎn)端玩家的狀態(tài)值為退出或失去連接,并停止發(fā)送數(shù)據(jù)。</p><p> 3.3 系統(tǒng)設(shè)計(jì)的主要功能</p><p> 3.3.1游戲主體界面的繪制</p><p> 俄羅斯方塊游戲的地圖(在窗口用戶區(qū)中繪制出的地圖)為22行×12列,用一個(gè)24行×14列的數(shù)組存儲(chǔ)每格的狀態(tài)(被占據(jù)的方格為1,否則為0),其中第0行不顯示;第
74、23行,第0、13列不用。</p><p> 行數(shù)和列數(shù)分別用ROW和COL表示,分別為24和14。</p><p> 窗口坐標(biāo)系:X向右,Y向下。</p><p> 為了與窗口坐標(biāo)系一致,二維數(shù)組行循環(huán)變量用y,列循環(huán)變量用x。方塊的當(dāng)前位置(指最左上角方格在坐標(biāo)系中的位置)為(CurrentY, CurrentX)。</p><p>
75、; #include <windows.h></p><p> #define ROW 24//地圖的行數(shù)目(第23行不用)</p><p> #define COL 14//地圖的列數(shù)目(第0列和第13列不用)</p><p> #define MAX_CLASS 7//方塊數(shù)目</p>
76、<p> #define LEN 20//每個(gè)方格大小為20×20像素</p><p> #define StartY -1 * LEN + 5//-15,繪制俄羅斯方塊地圖時(shí)的邊界起始位置</p><p> #define StartX -1 * LEN + 5//-15</p><p> in
77、t Map[ROW][COL];//存儲(chǔ)俄羅斯方塊地圖中每格的狀態(tài)(被占據(jù)為1,否則為0)</p><p> int CurrentBox[4][4];//當(dāng)前落下的方塊</p><p> int CurrentY, CurrentX;//當(dāng)前落下方塊的當(dāng)前位置(指左上角位置)</p><p> int NextBox[4
78、][4];//下一個(gè)將落下的方塊</p><p> 3.3.2 游戲圖形的繪制</p><p> 在TetrisBlock類中定義了7種方塊的不同形狀和對(duì)應(yīng)的顏色,都有一個(gè)對(duì)應(yīng)的ID,分別為1—7,且對(duì)于每種方塊來(lái)說(shuō),其顏色均是固定,方塊由16個(gè)4*4的小方格組成,故在邏輯上可以使用4*4的二維數(shù)組表示,又由于每個(gè)方塊都有4種旋轉(zhuǎn)變化,故可以用4*4*4的三維數(shù)組表示一個(gè)方塊的所有
79、狀態(tài)。</p><p> protected int blockpattern1[][][]={//blockpattern1:“T”字及四種旋轉(zhuǎn)形狀 </p><p> 表3-1“T”字形方塊</p><p> 3.3.3 圖形的移動(dòng)與旋轉(zhuǎn)控制</p><p> 這個(gè)游戲的方塊移
80、動(dòng)與旋轉(zhuǎn)由鍵盤(pán)上的方向鍵控制,左鍵表示讓方塊向左移動(dòng),右鍵表示讓方塊向右移動(dòng),向下的方向鍵表示讓方塊加速下落,中間鍵則表示讓方塊旋轉(zhuǎn)。</p><p> 3.3.4 游戲方塊的顏色選擇</p><p> 該游戲用一個(gè)顏色數(shù)組儲(chǔ)存所有的游戲方塊的顏色,游戲過(guò)程中下落的方塊的顏色從數(shù)組中隨機(jī)產(chǎn)生。</p><p> 3.3.5 俄羅斯方塊的自動(dòng)消行功能</p
81、><p> 游戲中當(dāng)一行被方塊所填滿后,那么在下一個(gè)下墜方塊生成的同時(shí),該行將自動(dòng)消掉</p><p><b> 3.4 本章小結(jié)</b></p><p> 本章講述了做俄羅斯方塊的一些設(shè)想,以及一些需要實(shí)現(xiàn)的功能。</p><p><b> 第四章 系統(tǒng)實(shí)現(xiàn)</b></p>&l
82、t;p> 4.1 游戲主體功能的實(shí)現(xiàn)</p><p> 該游戲主體在于游戲運(yùn)行界面。當(dāng)游戲運(yùn)行后,下墜方塊將實(shí)現(xiàn)向左、向右、旋轉(zhuǎn)等一系列動(dòng)作。運(yùn)行游戲點(diǎn)擊“開(kāi)始”按鈕,結(jié)束點(diǎn)“退出”按鈕。下面是一些實(shí)現(xiàn)主體功能的代碼及解說(shuō):</p><p> 4.1.1添加方塊到地圖數(shù)據(jù)</p><p> 眾所周知,俄羅斯方塊運(yùn)行后界面將隨機(jī)產(chǎn)生一個(gè)下墜的方塊,在不做
83、任何控制下,該方塊將一直下落到界面底部。所以添加方塊到地圖數(shù)據(jù)是本游戲必不可少的一部,代碼如下:</p><p><b> */ </b></p><p> private void addBrickToMap(){ </p><p> for(int i = 0;i < 4;i++){ </p><p>
84、 for(int j = 0;j < 4;j++){ </p><p> //判斷數(shù)據(jù)未超出地圖邊界 </p><p> if(((cCol+j) >= 0) </p><p> ((cCol + j < MAXCOL)) </p><p> ((cRow + i < MAXROW))){ </p>
85、<p> //不添加0的數(shù)據(jù) </p><p> if(brick[brickType][index][i][j] == 1){ </p><p> map[cRow + i][cCol + j] = </p><p> brick[brickType][index][i][j]; </p><p><b>
86、 } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p> 圖4-1 俄羅斯方
87、塊游戲界面</p><p> 4.1.2 方塊變形</p><p> 玩過(guò)俄羅斯方塊這個(gè)游戲的人都知道,方塊的變形時(shí)該游戲很重要的一步,因?yàn)橹挥薪?jīng)過(guò)了變形,方塊才能把所要的哪一行填滿,從而達(dá)到消行的目的。</p><p><b> */ </b></p><p> public void changeShape(
88、){ </p><p> //變形到下一種形狀 </p><p><b> index++; </b></p><p> if(index == brick[brickType].length){ </p><p> index = 0; </p><p><b> } <
89、;/b></p><p> //變形以后的位置是否超出邊界 </p><p> if(testNewPosition()){ </p><p> index--;//退回原來(lái)的形狀 </p><p><b> } </b></p><p> if(index < 0){ &l
90、t;/p><p> index = brick[brickType].length - 1; </p><p><b> } </b></p><p><b> } </b></p><p><b> /**</b></p><p> 4.1.3
91、方塊移動(dòng)</p><p> 俄羅斯方塊游戲,方塊可以向左、向右以及加速下墜等。這樣保證了可以用方塊簡(jiǎn)單地填滿一行,達(dá)到消行的目的。下面一段為方塊向左移動(dòng)的代碼:</p><p> * 原則是:方塊左側(cè)的第一行非空列貼近邊界 </p><p><b> */ </b></p><p> public void mo
92、veToLeft(){ </p><p><b> cCol--; </b></p><p> //如果新的位置不可用 </p><p> if(testNewPosition()){ </p><p><b> cCol++; </b></p><p><b&
93、gt; } </b></p><p><b> } </b></p><p><b> /**</b></p><p><b> 4.1.4 消行</b></p><p> 俄羅斯方塊最重要的一步可以說(shuō)是消行,即當(dāng)某一行完全被方塊所填滿后,系統(tǒng)會(huì)在下一個(gè)下
94、墜物生成的同時(shí)清除該滿行。這就保證了該游戲的持續(xù)運(yùn)行。</p><p><b> */ </b></p><p> private void clearAllFullRow(){ </p><p> for(int row = MAXROW - 1;row >= 0;row--){ </p><p><
95、b> //如果是滿行 </b></p><p> if(isFullRow(row)){ </p><p><b> //增加積分 </b></p><p> score += 10; </p><p><b> //消當(dāng)前行 </b></p><p&
96、gt; clearOneFullRow(row); </p><p> row++; //繼續(xù)處理當(dāng)前行 </p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p>
97、<b> /**</b></p><p> 4.2 其他功能的實(shí)現(xiàn)</p><p> 當(dāng)界面上堆積的方塊高度超過(guò)界面高度后則游戲結(jié)束,結(jié)束后安退出按鈕退出游戲。</p><p><b> 4.3 本章小結(jié)</b></p><p> 本章講述了該游戲主要功能的實(shí)現(xiàn)(代碼),以及一些其他功能的
98、介紹。</p><p><b> 第五章 小結(jié)</b></p><p> 這篇論文在老師的指導(dǎo)下,花了很長(zhǎng)一段時(shí)間寫(xiě)完,在寫(xiě)論文的同時(shí)我也學(xué)到了很多關(guān)于手機(jī)游戲方面的知識(shí),實(shí)在是獲益良多。</p><p><b> 致謝</b></p><p> 這篇論文在我的老師以及一些朋友的幫助下完成,
99、在寫(xiě)這篇論文是老師教了我很多關(guān)于J2ME的知識(shí),對(duì)我以后的發(fā)展很有幫助。我的朋友們給了我很多鼓勵(lì)和信心。在此,我感謝我的老師和幫我的同學(xué)們。</p><p><b> 參考文獻(xiàn)</b></p><p> 1.王興玲. SVG與矢量地圖的Web 發(fā)布技術(shù).計(jì)算機(jī)工程與應(yīng)用,2002 ,38 (10) :1~4</p><p> 2 .W3C
100、. Mobile SVG Profiles , http :/ / www. w3. org/ TR/SVGMobile/ ,2002</p><p> 3. Todd Sundsted. J2ME 走向成熟, http :/ / www-900.ibm. com/ developerWorks/ ,2002</p><p> 4. Apache Software Foundation
101、 , http :/ / xml. apache. org/batik/ ,2002</p><p> 5.Andrew Girow. TinyLine , http :/ / www. geocities. com/tinyline/ ,2002</p><p> 6.oshua Bloch. Java 高效編程指南. 北京:機(jī)械工業(yè)出版社,2001</p><p
102、> 7.Erich Gamma. 設(shè)計(jì)模式———可復(fù)用面向?qū)ο筌浖幕A(chǔ). 北京:機(jī)械工業(yè)出版社,2000</p><p> 8. 楊芙清. 軟件復(fù)用與軟件構(gòu)件技術(shù). 電子學(xué)報(bào),1999 ,27 (2) :68~75</p><p> 9.王玨, 趙呈領(lǐng), 張朝華. 移動(dòng)學(xué)習(xí)及其實(shí)現(xiàn)的幾個(gè)問(wèn)題研究[ J ] . 高等函授學(xué)報(bào)( 自然科學(xué)版),2006,19(4):6-8<
103、/p><p> 10.奚雪峰, 陸衛(wèi)忠, 姚俊峰, 等. J 2 M E 平臺(tái)上移動(dòng)倉(cāng)儲(chǔ)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[ J ] . 微計(jì)算機(jī)信息,2008,24(1):38-40</p><p> 11.陸東林.J2ME開(kāi)發(fā)技術(shù)原理與實(shí)踐教程[M].北京:電子工業(yè)出版社,2008</p><p> 12.榮欽科技.J2ME手機(jī)游戲設(shè)計(jì)技術(shù)與實(shí)踐[M].北京:電子工業(yè)出社,2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于j2me俄羅斯方塊游戲的設(shè)計(jì)和實(shí)現(xiàn)【畢業(yè)論文】
- 基于j2me俄羅斯方塊游戲的設(shè)計(jì)和實(shí)現(xiàn)【開(kāi)題報(bào)告】
- 基于J2ME的藍(lán)牙聯(lián)網(wǎng)俄羅斯方塊游戲的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于j2me俄羅斯方塊游戲的設(shè)計(jì)和實(shí)現(xiàn)【任務(wù)書(shū)】
- 俄羅斯方塊游戲畢業(yè)論文
- 基于fpga的俄羅斯方塊游戲設(shè)計(jì)畢業(yè)論文
- 俄羅斯方塊游戲java畢業(yè)論文
- 俄羅斯方塊游戲開(kāi)發(fā)畢業(yè)論文
- 基于fpga的俄羅斯方塊游戲設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文(java游戲俄羅斯方塊)
- 俄羅斯方塊分組對(duì)抗游戲的實(shí)現(xiàn)畢業(yè)論文
- 俄羅斯方塊單人游戲的實(shí)現(xiàn)畢業(yè)論文
- 俄羅斯方塊分組對(duì)抗游戲的實(shí)現(xiàn)畢業(yè)論文
- 基于單片機(jī)實(shí)現(xiàn)的俄羅斯方塊游戲畢業(yè)論文
- 基于單片機(jī)實(shí)現(xiàn)的俄羅斯方塊游戲-畢業(yè)論文
- 基于單片機(jī)實(shí)現(xiàn)的俄羅斯方塊游戲-畢業(yè)論文
- 畢業(yè)論文——基于單片機(jī)實(shí)現(xiàn)的俄羅斯方塊游戲
- 俄羅斯方塊畢業(yè)論文
- 基于android俄羅斯方塊游戲的設(shè)計(jì)與實(shí)現(xiàn)
- net俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論