版權(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ō)明書(shū)</b></p><p> 手機(jī)游戲的設(shè)計(jì)與開(kāi)發(fā)</p><p> 學(xué)生姓名: 學(xué)號(hào): </p><p> 學(xué) 院: </p><p> 專 業(yè):
2、 </p><p> 指導(dǎo)教師: </p><p><b> 2010年 6月</b></p><p> 手機(jī)游戲的設(shè)計(jì)與開(kāi)發(fā)</p><p><b> 摘 要</b>&
3、lt;/p><p> J2ME(Java 2 Micro Edition) 是近年來(lái)隨著各種不同設(shè)備,尤其是移動(dòng)通信設(shè)備的飛速發(fā)展而誕生的一項(xiàng)新的開(kāi)發(fā)技術(shù)。它的目標(biāo)定位在電子消費(fèi)產(chǎn)品與嵌入式設(shè)備上,對(duì)設(shè)備的智能化、多樣化,提供了革命性的解決方案,并因其“Write Once, run anywhere”的Java特性而提高開(kāi)發(fā)的效率</p><p> 在可以搭載Java的終端設(shè)備中,移動(dòng)電
4、話可以說(shuō)是最為普及的,隨著無(wú)線通信業(yè)的發(fā)展,Java應(yīng)用程序在通信、娛樂(lè)等應(yīng)用上產(chǎn)生的手機(jī)增值服務(wù)逐漸體現(xiàn)出其影響力,對(duì)豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。本論文著眼于J2ME技術(shù)在手機(jī)娛樂(lè)上的應(yīng)用,開(kāi)發(fā)一個(gè)的基于MIDP2.0的手機(jī)游戲程序——拼圖游戲,并介紹了游戲的結(jié)構(gòu)分析和具體功能實(shí)現(xiàn)。游戲的界面和運(yùn)作方式,盡力模擬手機(jī)游戲的普遍性形式,成為一個(gè)完整的手機(jī)游戲。</p><p> 關(guān)鍵詞
5、:J2ME,手機(jī)游戲,拼圖</p><p> Design and development of Puzzle on mobile phone</p><p><b> Abstract</b></p><p> J2ME (Java 2 Micro Edition), a newly-developed technology due t
6、o different kinds of equipment in recent years, especially the rapid development of mobile communication equipment, with the target of electronic expense product and embedded equipment has provides the revolutionary solu
7、tion to the equipment intellectualization and diversification and accelerates the developing efficiency for its natural Java characteristics, like “write once, run anywhere”. </p><p> Along with the develop
8、ment of wireless communication, the mobile phone is the most popular in the terminal device can be embarked with Java. The Java application procedure manifests noticeable influence in the field of mobile phone value-adde
9、d service communication and entertainment and also plays an important role of the enrichment people’s life content and prompt information. The paper focuses on the J2ME technology in the field of the application of cell
10、phone entertainment to develop a game </p><p> Keywords: J2ME, mobile phone game, puzzle game</p><p><b> 1前言</b></p><p> 作為手機(jī)娛樂(lè)服務(wù)的重要內(nèi)容之一,近幾年手機(jī)游戲業(yè)務(wù)呈現(xiàn)快速增長(zhǎng)的勢(shì)頭,成為一座名副其實(shí)的金
11、礦。以目前國(guó)內(nèi)的情況來(lái)看,手機(jī)網(wǎng)絡(luò)游戲產(chǎn)業(yè)鏈日益成熟,這為手機(jī)網(wǎng)絡(luò)游戲的發(fā)展奠定了良好的基礎(chǔ)。2007年中國(guó)手機(jī)游戲市場(chǎng)超過(guò)8億人民幣。2008年第1季度中國(guó)JAVA/BREW手機(jī)游戲市場(chǎng)總體市場(chǎng)規(guī)模達(dá)到2.61億人民幣。2008年第2季度中國(guó)JAVA/BREW手機(jī)游戲市場(chǎng)總體市場(chǎng)規(guī)模達(dá)到2.87億人民幣。隨著手機(jī)網(wǎng)游用戶數(shù)量和產(chǎn)品大規(guī)模增加,預(yù)測(cè)手機(jī)網(wǎng)游將推動(dòng)手機(jī)游戲在2008年的成長(zhǎng),至2011年中國(guó)手機(jī)游戲市場(chǎng)規(guī)模將達(dá)37億元。&
12、lt;/p><p> 伴隨著產(chǎn)業(yè)合作模式的日益成熟,以及移動(dòng)網(wǎng)絡(luò)和移動(dòng)終端性能的不斷提高與完善,國(guó)內(nèi)手機(jī)游戲業(yè)務(wù)發(fā)展明顯提速,2008年手機(jī)游戲市場(chǎng)將在此前調(diào)整的基礎(chǔ)上進(jìn)入成長(zhǎng)期。細(xì)分市場(chǎng)方面,單機(jī)游戲占據(jù)較大的份額,但是游戲的發(fā)行模式已經(jīng)從過(guò)去的手機(jī)預(yù)裝向網(wǎng)絡(luò)下載全面轉(zhuǎn)型;網(wǎng)絡(luò)游戲雖依舊受到無(wú)線網(wǎng)絡(luò)環(huán)境的限制,但情況正在好轉(zhuǎn)。大型手機(jī)網(wǎng)絡(luò)游戲產(chǎn)品日趨成熟,3G、新一代寬帶無(wú)線移動(dòng)通信的發(fā)展將使其獲得突破的機(jī)遇。按
13、手機(jī)平臺(tái)分類對(duì)不同類型的手機(jī)游戲的規(guī)模進(jìn)行預(yù)測(cè)。在未來(lái)幾年中,短信游戲的增長(zhǎng)速度將放緩,WAP游戲?qū)⒗^續(xù)呈現(xiàn)較快速的增長(zhǎng)。JAVA與BREW游戲在所有游戲中呈現(xiàn)最快速度的增長(zhǎng),逐漸成為手機(jī)游戲市場(chǎng)的主流,對(duì)整個(gè)游戲市場(chǎng)規(guī)模的貢獻(xiàn)最大。</p><p><b> 2 需求分析</b></p><p><b> 2.1 編寫(xiě)目的</b></
14、p><p> 我們對(duì)目前網(wǎng)絡(luò)上的主流J2ME游戲和廣大游戲玩家群進(jìn)行了一些針對(duì)性調(diào)查,收集了相關(guān)資料。調(diào)查結(jié)果顯示:目前主流的J2ME游戲中以益智性和趣味性并存的游戲最受歡迎,尤其是界面友好漂亮、易操作、交互性強(qiáng)的游戲更受青睞。通過(guò)調(diào)查我們了解到J2ME拼圖游戲以其易操作性、益智性、娛樂(lè)性、交互性都比較好和多類型多玩法而贏得了不小的玩家群。如果制作一組交互性好吸引人的多種類組合的拼圖游戲還是有一定市場(chǎng)的。更重要的是
15、J2ME拼圖游戲的制作一般都不是很復(fù)雜,而且可以采用多種方法進(jìn)行設(shè)計(jì),又有較多優(yōu)秀成果可以參考,這是比較符合我們目前的狀況和軟硬件,人員技術(shù)水平要求的,也使得成功開(kāi)發(fā)一個(gè)J2ME游戲,按時(shí)按質(zhì)完成設(shè)計(jì)成為一種可能。</p><p> 需求分析是整個(gè)軟件開(kāi)發(fā)的依據(jù),它對(duì)以后階段的工作起指導(dǎo)作用。本章也是項(xiàng)目完成后系統(tǒng)驗(yàn)收的依據(jù)。</p><p><b> 2.2 研究背景<
16、;/b></p><p> 2008年中國(guó)手機(jī)游戲?qū)⑦M(jìn)入急速發(fā)展的時(shí)代,更多能夠?yàn)橛脩魩?lái)完美體驗(yàn)的手機(jī)游戲也會(huì)陸續(xù)出現(xiàn),可以預(yù)見(jiàn)2008年將有更多的手機(jī)用戶擁抱手機(jī)游戲。經(jīng)歷兩次市場(chǎng)盤(pán)整后,目前手機(jī)游戲市場(chǎng)活躍用戶已經(jīng)達(dá)到了500多萬(wàn),手機(jī)游戲產(chǎn)品已經(jīng)為大眾所認(rèn)知。2008年中國(guó)手機(jī)游戲市場(chǎng)將進(jìn)入第二次盤(pán)整后的成長(zhǎng)期,下半年將出現(xiàn)成長(zhǎng)拐點(diǎn),手機(jī)游戲?qū)⑹菐?dòng)手機(jī)游戲市場(chǎng)發(fā)展的必然因素。</p>
17、<p><b> 2.3 定義</b></p><p> 需求:用戶解決問(wèn)題或達(dá)到目標(biāo)所需的條件或功能;系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn),規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能。</p><p><b> 2.4 任務(wù)概述</b></p><p> 2.4.1 開(kāi)發(fā)目標(biāo)</p><
18、;p> 開(kāi)發(fā)目標(biāo):實(shí)現(xiàn)手機(jī)拼圖游戲基本功能,包括選擇圖片,難度選擇,記錄成績(jī),音樂(lè)音響,游戲幫助,關(guān)于游戲等。</p><p> 2.4.2 應(yīng)用目標(biāo)</p><p> 應(yīng)用目標(biāo):拼圖游戲是一個(gè)考眼力和腦力的益智游戲,一直為大家所厚愛(ài),很多手機(jī)也把它作為內(nèi)置的游戲,網(wǎng)絡(luò)上這樣的游戲有很多。</p><p><b> 2.5 功能需求</
19、b></p><p> 2.5.1 功能劃化</p><p> 每個(gè)拼圖后面都有這么個(gè)拼圖設(shè)置菜單,用來(lái)設(shè)置圖片,可以定制不同的難度和樣式。</p><p> 圖片選擇:在圖片選擇中提供若干圖片,可以根據(jù)自己的喜好選擇不同的圖進(jìn)行游戲。本游戲會(huì)設(shè)置些當(dāng)下比較流行的人物圖片。</p><p> 2.5.2 功能描述</p&g
20、t;<p> 通過(guò)以上的需求分析與描述,我們將系統(tǒng)功能劃分為以下幾個(gè)方面: </p><p> (1)游戲操作功能:即要求系統(tǒng)能夠?qū)崿F(xiàn)單人游戲操作;對(duì)于每一種類型的游戲在游戲操作過(guò)程中還應(yīng)有相應(yīng)信息的顯示:如顯示所消行數(shù),所獲成績(jī),現(xiàn)行游戲操作速度,游戲開(kāi)始,游戲結(jié)束等。</p><p> (2)游戲?qū)傩栽O(shè)置功能:這部分分為三項(xiàng),一項(xiàng)為圖片選擇,它可以顯示5
21、張圖片以上的圖片。一項(xiàng)為系統(tǒng)選項(xiàng)設(shè)置,其中包括游戲操作的難易度設(shè)置、顯示屬性設(shè)置、游戲操作控制鍵設(shè)置等。</p><p> (3)系統(tǒng)幫助功能:它包括通過(guò)游戲教學(xué)向用戶演示游戲操作過(guò)程;同時(shí)還包括游戲開(kāi)發(fā)版本信息的說(shuō)明,游戲幫助等設(shè)置。</p><p><b> 2.6 相關(guān)需求</b></p><p> 2.6.1 用戶界面</p
22、><p> MIDP(Mobile Information Device Profile)用戶界面應(yīng)用編程接口類來(lái)實(shí)現(xiàn)J2ME的圖形界面開(kāi)發(fā),MIDP用戶界面設(shè)計(jì)是基于屏幕的,所有的用戶界面組件都位于屏幕上,并且一次只顯示一個(gè)屏幕,并且只能瀏覽或使用這個(gè)屏幕上的條目。由屏幕來(lái)處理所有的用戶界面事件。并只把高級(jí)事件傳送給應(yīng)用。 按照MIDP2.0的規(guī)范,MIDP圖形用戶界面分為低級(jí)圖形用戶界面和高級(jí)圖形用戶界面。Ca
23、nvas類是代表低級(jí)用戶界面的畫(huà)布,所有的圖形圖像繪制以及用戶交互都有這個(gè)類負(fù)責(zé)。</p><p> 2.6.2 硬件接口</p><p> 不需要特定的硬件或硬件接口進(jìn)行支撐。</p><p> 2.6.3 軟件接口</p><p> 開(kāi)發(fā)環(huán)境:windows(XP/vista/win7)+Eclipse+EclipseMe+WTK
24、</p><p><b> 開(kāi)發(fā)語(yǔ)言:java</b></p><p> CLDC: 1.0</p><p> MIDP: 1.0</p><p> 應(yīng)用程序類型:jar打包文件</p><p> 2.6.4 故障處理</p><p> 正常使用時(shí)不應(yīng)出錯(cuò),
25、若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤,也必須保證數(shù)據(jù)庫(kù)完好無(wú)損。調(diào)試中遇到的問(wèn)題及解決的方案: </p><p> (1)圖片加載異常:可能因?yàn)閳D片太大,也可能因?yàn)閳D片數(shù)量過(guò)大,導(dǎo)致內(nèi)存不夠。也可能會(huì)因?yàn)閳D片格式不正確。</p><p> (2)音樂(lè)加載異常:可能是格式不正確,可能是內(nèi)存不夠,進(jìn)行異常捕捉,找出問(wèn)題并進(jìn)行做出相應(yīng)的解決方案。</p><p> (3)
26、關(guān)于空記錄帶來(lái)的麻煩 </p><p> 有些空記錄往往會(huì)使程序無(wú)法運(yùn)行。此時(shí)你可用“if not is null”語(yǔ)句先判斷一下是否為空記錄,然后再進(jìn)行操作。</p><p> (4)有些運(yùn)行錯(cuò)誤也可用補(bǔ)獲異常進(jìn)行處理。 </p><p> 2.6.5 其他需求</p><p>
27、; 界面設(shè)計(jì)需求:界面設(shè)計(jì)是人與機(jī)器之間傳遞和交換信息的媒介,包括硬件界面和軟件界面,是計(jì)算機(jī)科學(xué)與心理學(xué)、設(shè)計(jì)藝術(shù)學(xué)、認(rèn)知科學(xué)和人機(jī)工程學(xué)的交叉研究領(lǐng)域。近年來(lái),隨著信息技術(shù)與計(jì)算機(jī)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)技術(shù)的突飛猛進(jìn),人機(jī)界面設(shè)計(jì)和開(kāi)發(fā)已成為國(guó)際計(jì)算機(jī)界和設(shè)計(jì)界最為活躍的研究方向。其中</p><p> 一方面是界面元素:通常一個(gè)軟件界面的元素包括界面主顏色、字體顏色、字體大小、界面布局、界面交互方式、界面
28、功能分布、界面輸入輸出模式。其中,對(duì)用戶工作效率有顯著影響的元素包括:輸入輸出方式、交互方式、功能分布,在使用命令式交互方式的系統(tǒng)中,命令名稱、參數(shù)也是界面元素的內(nèi)容,如何設(shè)計(jì)命令及參數(shù)也很重要。影響用戶對(duì)系統(tǒng)友好性評(píng)價(jià)的元素則有:顏色、字體大小、界面布局等,這種劃分不是絕對(duì)的,軟件界面作為一個(gè)整體,其中任何一個(gè)元素不符合用戶習(xí)慣、不滿足用戶要求都將降低用戶對(duì)軟件系統(tǒng)的認(rèn)可度,甚至影響用戶的工作效率,而使用戶最終放棄使用系統(tǒng)。圍繞界面元
29、素所要達(dá)到的設(shè)計(jì)目的是讓最終用戶能夠獲得美感、提高工作效率、易于操作使用系統(tǒng)。 目前在界面元素的選擇、布局設(shè)計(jì)等方面的研究進(jìn)行得較多,內(nèi)容涵蓋了人機(jī)工程學(xué)、認(rèn)知心理學(xué)、、美學(xué)、色彩理論等方面的探討。</p><p> 另一方面是用戶角色:界面需求分析必須圍繞用戶為中心,不同于客觀功能需求分析,具有很大的主觀性。雖然,界面設(shè)計(jì)人員可以按照通行的原則來(lái)設(shè)計(jì),但是用戶個(gè)體的文化背景、知識(shí)水平、個(gè)人喜好等是千差百異的,
30、其界面需求也是相差很大。不同的用戶,對(duì)軟件界面有不同的要求,表達(dá)自己要求的方式也盡不相同。而且用戶的界面要求通常不像業(yè)務(wù)功能需求那樣容易明確、有據(jù)可查、可以利用專門(mén)工具進(jìn)行分析。多數(shù)用戶往往并不能提出明確的、全局的界面需求,其需求同自身主觀因素聯(lián)系緊密,是模糊、變化的。</p><p><b> 3 概要設(shè)計(jì)</b></p><p><b> 3.1 編
31、寫(xiě)目的</b></p><p> 從該階段開(kāi)發(fā)正式進(jìn)入軟件的實(shí)際開(kāi)發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計(jì)并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計(jì)階段主要是把一個(gè)軟件需求轉(zhuǎn)化為軟件表示的過(guò)程,這種表示只是描述出軟件的概貌。本概要設(shè)計(jì)說(shuō)明書(shū)的目的就是進(jìn)一步細(xì)化軟件階段得出的軟件的總體概貌,把它加工成災(zāi)程序細(xì)節(jié)上非常接近源程序的軟件表示。</p><p> 通過(guò)本游戲的設(shè)計(jì),綜合自己
32、在校期間所學(xué)的理論知識(shí),設(shè)計(jì)開(kāi)發(fā)拼圖游戲,熟悉單機(jī)游戲的設(shè)計(jì)方法和思路, 掌握在模擬器上以及真機(jī)上調(diào)試代碼的技巧,加深對(duì)所學(xué)知識(shí)的了解以及應(yīng)用,提高解決問(wèn)題分析問(wèn)題的能力。</p><p><b> 3.2 定義</b></p><p> 概要設(shè)計(jì):是把需求分析得到的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)的具體任務(wù)是:將一個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模
33、塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫(kù)的設(shè)計(jì)。</p><p><b> 3.3 總體設(shè)計(jì)</b></p><p> 3.3.1 需求規(guī)定</p><p> 游戲界面要求:打開(kāi)游戲時(shí),出現(xiàn)綠色字體的該游戲的名字—“拼圖游戲”,并伴隨著好聽(tīng)的音樂(lè),然后自動(dòng)轉(zhuǎn)到游戲
34、的主界面,游戲設(shè)置選項(xiàng):開(kāi)始游戲、圖片選擇、難度選擇、幫助、記錄、關(guān)于、關(guān)閉游戲等。進(jìn)入圖片選擇時(shí),界面有會(huì)提供清晰好看的圖片,這樣看起來(lái)就比較美觀。</p><p> 鍵盤(pán)處理事件:打開(kāi)游戲時(shí),使用左右鍵進(jìn)行游戲相關(guān)的不同設(shè)置。游戲開(kāi)始時(shí),使用上下左右方向鍵控制被分割的小圖片,使其最后能夠恢復(fù)原始的完整圖片。</p><p> 顯示需求:當(dāng)小圖片恢復(fù)到原始圖片位置時(shí),界面中間將會(huì)出現(xiàn)
35、“嘿嘿!勝利咯…”字樣,可以自己進(jìn)行選擇更高難度。</p><p> 3.3.2 基本設(shè)計(jì)概念和處理流程</p><p> 圖 3.1 基本設(shè)計(jì)概念圖</p><p><b> 3.3.3 結(jié)構(gòu)</b></p><p> 基本設(shè)計(jì)處理流程結(jié)構(gòu)圖(圖3.2)</p><p> 圖3.2
36、 基本設(shè)計(jì)處理流程結(jié)構(gòu)圖</p><p> 3.3.4 尚未解決的問(wèn)題</p><p> 游戲模式選擇部分:打開(kāi)游戲后,出現(xiàn)游戲等級(jí)選擇,分為初級(jí)、中級(jí)和高級(jí)。游戲圖片選擇部分:打開(kāi)游戲應(yīng)該出現(xiàn)圖片選擇設(shè)置以供玩家自由選擇。游戲音樂(lè)部分:在主界面時(shí),應(yīng)該有個(gè)音樂(lè)開(kāi)關(guān)選擇,可供玩家自由選擇,若選擇音樂(lè)開(kāi),則在不同的界面上出現(xiàn)相應(yīng)的音樂(lè)。游戲記錄部分:在每次玩家結(jié)束游戲時(shí),都會(huì)出現(xiàn)玩家相應(yīng)
37、的游戲步數(shù),作為記錄存儲(chǔ)下來(lái)。</p><p> 3.4 系統(tǒng)出錯(cuò)處理設(shè)計(jì)</p><p> 3.4.1 出錯(cuò)信息</p><p> 表 3.1 出錯(cuò)信息表</p><p> 3.4.2 補(bǔ)救措施</p><p> 在程序設(shè)計(jì)中,可以在每個(gè)部分添加相關(guān)的輸出信息,根據(jù)相關(guān)提示進(jìn)行查找對(duì)象的體能出錯(cuò)的部分,
38、再進(jìn)行修改。像圖片加載和多媒體加載,都應(yīng)編有相關(guān)的異常捕捉,進(jìn)行出錯(cuò)提示,找出錯(cuò)誤并修改。服務(wù)器端應(yīng)返回相應(yīng)的響應(yīng)代碼給客戶端,并提示給用戶</p><p><b> 如:</b></p><p> protected void start(){</p><p><b> try{</b></p>&l
39、t;p> for (int i = 0; i < picNum; i++)</p><p> picArray[i] = Image.createImage(midlet.imgPath + midlet.nameArray[i]);</p><p> dirImg = Image.createImage(midlet.imgPath + "dir.png&qu
40、ot;);</p><p> }catch(IOException e){</p><p> System.out.println("Image load error!");</p><p><b> }</b></p><p> 3.4.3 系統(tǒng)維護(hù)設(shè)計(jì)</p><p&g
41、t; 改正使用時(shí)暴露出來(lái)的一些潛在程序錯(cuò)誤或設(shè)計(jì)缺陷;因在軟件使用過(guò)程中數(shù)據(jù)環(huán)境發(fā)生變化或處理環(huán)境發(fā)生變化,需要修改程序以適應(yīng)這種變化;在使用時(shí)提出改進(jìn)現(xiàn)有功能、增加新的功能以及改善總體性能的要求。</p><p><b> 4 詳細(xì)設(shè)計(jì)</b></p><p><b> 4.1 編寫(xiě)目的</b></p><p>
42、 根據(jù)此組拼圖游戲的需求分析定義的游戲需求及概要說(shuō)明設(shè)計(jì)所規(guī)劃的程序結(jié)構(gòu)和劃分模塊,具體詳細(xì)的介紹每個(gè)所劃分出的模塊的功能,設(shè)計(jì)及具體的實(shí)現(xiàn),為后面的編輯代碼做鋪墊。</p><p><b> 4.2 定義</b></p><p> 詳細(xì)設(shè)計(jì)說(shuō)明書(shū)又可稱程序設(shè)計(jì)說(shuō)明書(shū)。編制目的是說(shuō)明一個(gè)軟件系統(tǒng)各個(gè)層次中的每一個(gè)程序 (每個(gè)模塊或子程序)的設(shè)計(jì)考慮。</p&
43、gt;<p> 4.3 程序結(jié)構(gòu)設(shè)計(jì)</p><p> 4.3.1 程序主要流程</p><p> 每個(gè)MIDlet都擴(kuò)展javax.microedition.midlet包中的MIDlet抽象類,而在這個(gè)抽象類中定義了三個(gè)抽象方法:startApp()、pauseApp()、destroyApp(boolean b)。通過(guò)調(diào)用這三個(gè)方法在暫停狀態(tài)(paused)、活動(dòng)
44、狀態(tài)(active)、銷毀狀態(tài)(destroyed)之間轉(zhuǎn)換。</p><p> 4.3.2 程序基本結(jié)構(gòu)</p><p> 圖4.1 程序基本結(jié)構(gòu)圖</p><p> 4.3.3 低級(jí)繪圖Canvas類及Graphics類</p><p> 繼承了Displayable類的Canvas類為需要圖片元素精確定位和控制以及需要獲得低
45、級(jí)輸入事件的應(yīng)用設(shè)計(jì)。Canvas提供了鍵盤(pán)事件、指點(diǎn)桿事件(如果設(shè)備支持),并定義了允許將鍵盤(pán)按鍵響應(yīng)映射為游戲控制鍵盤(pán)的函數(shù)。同時(shí)Canvas類可與高級(jí)Screen類交互,程序可在需求時(shí)在Canvas中參入高級(jí)類的組件。</p><p> Graphics類提供了簡(jiǎn)單的2D繪圖功能。它具有24位深色色彩的繪圖能力,以及三原色分別各占一個(gè)字節(jié)表示其顏色。程序只能在paont()函數(shù)中使用Graphics繪制,
46、GameCanvas可調(diào)用getGraphics()函數(shù)直接繪制在緩沖區(qū)上,可以在任何時(shí)間請(qǐng)求傳輸前臺(tái)。其對(duì)象會(huì)被傳給Canvas的paint()函數(shù),以便最終顯示。</p><p> 4.4 游戲具體設(shè)計(jì)</p><p> 游戲主要分為一下這些大類:游戲主類(Pintu.java),游戲菜單(MenuCanvas.java),游戲畫(huà)布(StartCanvas.java),圖片選擇類(
47、SelectPicCanvas.java),游戲等級(jí)選擇類(LevelCanvas.java),幫助類(HelpCanvas.java),記錄類(Score.java)、關(guān)于類(AboutCanvas.java)九個(gè)類。</p><p> 4.4.1 圖片分割</p><p> 首先考慮如何分割圖片,可以采用作圖工具提前把圖片分割成若干部分,不過(guò)我覺(jué)得不專門(mén)用作圖工具也行,因?yàn)轱@示的都
48、是整個(gè)圖的一部分,拿9個(gè)方格來(lái)說(shuō),只要取原圖的1/3在界面上顯示就可以了,代碼如下:</p><p> Image temp=Image.createImage("_url");</p><p> Image[] img=new Image[9];</p><p> int width=temp.getWidth()/3;</p>
49、;<p> int height=temp.getHeight()/3;</p><p> for(int i=0;i<3 ;i++){</p><p> for(int j=0;j<3;j++){</p><p> img[i*3+j]=Image.createImage(temp,j*width,i*height,width,h
50、eight,Sprite.TRANS_NONE);</p><p><b> }</b></p><p><b> }</b></p><p> createImage(Image source) </p><p> createImage(Image image, int x, int y
51、, int width, int height, int transform);</p><p> 4.4.2 圖片的隨機(jī)擺放</p><p> 可根據(jù)J2ME程序開(kāi)發(fā)中隨機(jī)數(shù)字處理,創(chuàng)建Random類型的對(duì)象,第一種使用默認(rèn)構(gòu)造方法,第二種方式通過(guò)自己來(lái)指定種子數(shù)字來(lái)進(jìn)行創(chuàng)建。創(chuàng)建好了隨機(jī)對(duì)象以后,我們就可以來(lái)生成隨機(jī)數(shù)字了。來(lái)做出打亂圖片讓其隨機(jī)擺放,本設(shè)計(jì)中將采用下列方法:<
52、;/p><p> public void randomSequence(){</p><p> Random r = new Random();</p><p> int rValue,t;</p><p> for(int i=0;i<rowCol * rowCol - 1;i++){</p><p>
53、rValue = Math.abs(r.nextInt()%(rowCol*rowCol - 1));</p><p> t = sequenceArray[i];</p><p> sequenceArray[i] = sequenceArray[rValue];</p><p> sequenceArray[rValue] = t;</p>
54、<p><b> }</b></p><p><b> }</b></p><p> 4.4.3 圖片的移動(dòng)</p><p> 當(dāng)按下“上鍵、下鍵、左鍵、右鍵”時(shí),要實(shí)現(xiàn)圖片移動(dòng),實(shí)際上是可以再設(shè)置一個(gè)地方如圖9位置,讓8位置的圖片先放到9位置,這樣就簡(jiǎn)單多了。先分析其中一種情況,如下圖4.2:</
55、p><p> 圖 4.2 圖片移動(dòng)圖</p><p> 按下“下鍵”,圖塊5下移至8位置,8圖塊上移至圖塊5位置,在交換前應(yīng)該計(jì)算要交換的兩個(gè)圖的塊起始坐標(biāo),然后再進(jìn)行交換。如果不經(jīng)過(guò)計(jì)算直接交換,會(huì)顯示不正確。圖片完整拼好的情況下,所有的小圖塊起始坐標(biāo)都是一樣的,如果簡(jiǎn)單的直接交換圖塊5和8圖塊,那么起始坐標(biāo)還是一樣的。正確的步驟應(yīng)該是先將隱藏圖塊的startY減少一個(gè)Block的He
56、ight,再將圖塊5的startY增加一個(gè)Block的Height,然后進(jìn)行交換,最后將hiddenJ--。把滑動(dòng)小圖塊操作的方法名定義為很好理解的moveTo,方法需要傳一個(gè)參數(shù)“方向”,方向有四種,分別是Matrix.UP,Matrix.DOWN,Matrix.LEFT,Matrix.RIGHT。moveTo(Matrix.UP)就是隱8藏圖塊下移,它下面的圖塊上移、moveTo(Matrix.LEFT)就是8圖塊右移,它右面的圖塊
57、左移,以此類推。讓我們看看代碼:</p><p> private void resetPosition(String dir){</p><p> int posX,posY,row,col,t;</p><p> row = (int)(index/rowCol);</p><p> col = index % rowCol;&l
58、t;/p><p> posX = STARTX + col*BLOCKWH;</p><p> posY = STARTY + row*BLOCKWH;</p><p> if(dir.toString()=="LEFT" && rightSprite!=null){</p><p> t = sequ
59、enceArray[rightIndex];</p><p> sequenceArray[rightIndex] = -1;</p><p> sequenceArray[index] = t;</p><p> index = rightIndex;</p><p> rightSprite.setPosition(posX,po
60、sY);</p><p><b> }</b></p><p> if(dir.toString() == "RIGHT" && leftSprite != null){</p><p> t = sequenceArray[leftIndex];</p><p> seque
61、nceArray[leftIndex] = -1;</p><p> sequenceArray[index] = t;</p><p> index = leftIndex;</p><p> leftSprite.setPosition(posX,posY);</p><p><b> }</b></p
62、><p> if(dir.toString() == "UP" && downSprite != null){</p><p> t = sequenceArray[downIndex];</p><p> sequenceArray[downIndex] = -1;</p><p> sequence
63、Array[index] = t;</p><p> index = downIndex;</p><p> downSprite.setPosition(posX,posY);</p><p><b> }</b></p><p> if(dir.toString() == "DOWN" &
64、amp;& upSprite != null){</p><p> t = sequenceArray[upIndex];</p><p> sequenceArray[upIndex] = -1;</p><p> sequenceArray[index] = t;</p><p> index = upIndex;<
65、/p><p> upSprite.setPosition(posX,posY);</p><p><b> }</b></p><p><b> }</b></p><p> 4.4.4 時(shí)間分?jǐn)?shù)記錄</p><p> J2ME記錄存儲(chǔ)系統(tǒng) J2ME記錄存儲(chǔ)系統(tǒng)在手機(jī)軟
66、件開(kāi)發(fā)中也是很重要的基礎(chǔ)模塊,分?jǐn)?shù)排名榜從高到低依次列出10個(gè)游戲玩家的排名、名字、分?jǐn)?shù)、所到的關(guān)數(shù),玩家每過(guò)一關(guān),顯示當(dāng)前分?jǐn)?shù)榜的情況2秒鐘,接著進(jìn)入下一關(guān),當(dāng)游戲結(jié)束時(shí),顯示當(dāng)前分?jǐn)?shù)榜,并提供選擇按鈕讓用戶進(jìn)入分?jǐn)?shù)設(shè)置頁(yè)面,可以輸入自己的名字,按確定按鈕后回到啟動(dòng)菜單頁(yè)面。分?jǐn)?shù)會(huì)根據(jù)玩家所在分?jǐn)?shù)榜的具體位置進(jìn)行插入,并排擠出最后一名玩家的分?jǐn)?shù)情況。利用系統(tǒng)函數(shù)取得時(shí)間,這里需要知道,取得的時(shí)間是一個(gè)很大的數(shù)值,不必?fù)?dān)心數(shù)值溢出。 &
67、lt;/p><p> long nowTime = System.currentTimeMillis(); </p><p> if (nowTime - pintuStartTime >= 1000 && gameState == 1) { </p><p> countTime++; </p><p> pint
68、uStartTime = System.currentTimeMillis(); </p><p><b> } </b></p><p> 4.4.5 菜單處理</p><p> 通過(guò)主菜單選項(xiàng)無(wú)論對(duì)于一個(gè)游戲或者應(yīng)用程序來(lái)說(shuō)都比較重要,尤其是在移動(dòng)設(shè)備上,其中關(guān)鍵性的一點(diǎn)就是可用行。一個(gè)可用主菜單是很關(guān)鍵的,它在游戲設(shè)計(jì)時(shí)就得進(jìn)行設(shè)計(jì)
69、。假如第一次設(shè)計(jì)比較合理可用,在以后的設(shè)計(jì)中將可以重復(fù)利用想偷的菜單單幀。本游戲中的主要類將用一個(gè)一維數(shù)組將所有的設(shè)置中的選項(xiàng)都放在里面,如下:</p><p> private String[] menuArray = {"開(kāi)始游戲","圖片選擇","難度選擇","幫助","記錄","關(guān)于"
70、,"關(guān)閉游戲"};</p><p> protected final int MENU_START = 0,MENU_SELECTPIC = 1,MENU_LEVEL =2,MENU_HELP=3,MENU_SCORE=4,MENU_ABOUT=5,MENU_EXIT = 6;</p><p> 4.4.6 等級(jí)設(shè)計(jì)</p><p> 難度
71、級(jí)別有三種,簡(jiǎn)單(對(duì)應(yīng)3×3=9小張圖片的關(guān)卡),一般(對(duì)應(yīng)4×4=16小張圖片的關(guān)卡),困難(對(duì)應(yīng)5×5=25小張圖片的關(guān)卡)。繪制圖片的起始坐標(biāo)值由屏幕設(shè)定的,先設(shè)置變量,</p><p> public class LevelCanvas extends GameCanvas implements Runnable {</p><p> privat
72、e PinTu midlet;</p><p> private Image dirImg;</p><p> private Sprite leftSprite,rightSprite,menuSprite;</p><p> private int selectedIndex = 0;</p><p> private int d
73、irY,dirX1,dirX2;</p><p> private final int WIDTH = getWidth(),HEIGHT = getHeight(),MIDLECENTER = Graphics.HCENTER | Graphics.VCENTER;</p><p> protected boolean stoped = false;</p><p
74、> private int delay = 500;</p><p> private int levelNum = 0;</p><p> private Thread t;</p><p> public LevelCanvas(PinTu m) {</p><p> super(true);</p><
75、;p> midlet = m;</p><p> levelNum = midlet.levelArray.length;</p><p> setFullScreenMode(true);</p><p><b> }</b></p><p> protected void start(){</p
76、><p><b> try{</b></p><p> dirImg = Image.createImage(midlet.imgPath + "dir.png");</p><p> }catch(IOException e){</p><p> System.out.println("
77、;Image loaded error!");</p><p><b> }</b></p><p> leftSprite = new Sprite(dirImg,10,10);</p><p> rightSprite = new Sprite(leftSprite);</p><p> right
78、Sprite.setTransform(Sprite.TRANS_MIRROR);</p><p> leftSprite.setPosition(WIDTH/2 - 40 ,HEIGHT/2);</p><p> rightSprite.setPosition(WIDTH/2 + 40 - rightSprite.getWidth(),HEIGHT/2);</p>&l
79、t;p> menuSprite = new Sprite(leftSprite);</p><p> menuSprite.setTransform(Sprite.TRANS_ROT270);</p><p> menuSprite.setPosition(5,HEIGHT -15);</p><p> t = new Thread(this);<
80、;/p><p> t.start();</p><p><b> } </b></p><p> 4.4.7 音樂(lè)設(shè)計(jì)</p><p> 在J2ME中,處理聲音需要使用到Mobile Media API(MMAPI),該包是MIDP1.0的可選包,在MIDP2.0中已經(jīng)包含了這個(gè)包。所以如果你使用MIDP1.0的話,
81、請(qǐng)確認(rèn)你的運(yùn)行環(huán)境是否支持。一般手機(jī)支持的聲音文件格式為wav、mid和mpg等。將讀取到的內(nèi)容傳遞給播放器,播放器按照一定的格式來(lái)進(jìn)行解碼操作,具體代碼如下:</p><p> private void playMIDI() {</p><p><b> try {</b></p><p> //獲取Jar包中的MIDI文件</p
82、><p> java.io.InputStream is getClass().getResourceAsStream("/1.mid");</p><p> //創(chuàng)建Player實(shí)例</p><p> Player player = Manager.createPlayer(is, "audio/midi");</p
83、><p> //使Player處于REALIZED狀態(tài)</p><p> player.realize();</p><p> //使Player處于PREFETCHED狀態(tài)</p><p> player.prefetch();</p><p><b> //播放音頻</b></p&
84、gt;<p> player.start();</p><p> } catch(Exception e) {</p><p> System.out.println("g播放MIDI音樂(lè)發(fā)生異常:" + e.toString());</p><p><b> }</b></p><
85、p><b> }</b></p><p> 其中第一個(gè)參數(shù)為流對(duì)象,第二個(gè)參數(shù)為聲音文件的格式。</p><p><b> 4.5 測(cè)試計(jì)劃</b></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ī)
86、上卻會(huì)出現(xiàn)好多問(wèn)題,根據(jù)出現(xiàn)的問(wèn)題,再做出對(duì)應(yīng)的處理??赡軙?huì)出現(xiàn)一些技術(shù)上的困難,通過(guò)查資料問(wèn)老師同學(xué)等途徑,盡量解決吧!</p><p> 4.6 尚未解決的問(wèn)題</p><p> 游戲過(guò)程中,步數(shù)加載不上去,沒(méi)有出現(xiàn)相應(yīng)的記錄。 音樂(lè)部分還沒(méi)有加載上去。在真機(jī)上測(cè)試還有好多問(wèn)題,比如按鍵響應(yīng)太快,圖片選擇時(shí),多張圖片不能顯示,游戲結(jié)束時(shí)沒(méi)有響應(yīng)的提示等問(wèn)題需要進(jìn)一步解決。</
87、p><p><b> 5 編碼打包</b></p><p> 5.1 編碼階段各部分主要程序段</p><p> 5.1.1 主函數(shù)Pintu.java</p><p><b> 5.2 打包</b></p><p> 先設(shè)置.jad文件夾里面的參數(shù),Required中
88、的參數(shù)一般都設(shè)計(jì)為最低,以配合真機(jī)更好的運(yùn)用,在Midlets中添加上游戲的名字以及對(duì)應(yīng)主函數(shù)名。然后在工程右鍵→J2ME→Create Package就可以完成打包了,打完的包會(huì)存在工程目錄下的deployed中。然后發(fā)到支持Java的手機(jī)就可以了。</p><p><b> 6 使用說(shuō)明</b></p><p><b> 6.1 編寫(xiě)目的</b
89、></p><p> 根據(jù)之前的需求分析、概要設(shè)計(jì)及詳細(xì)設(shè)計(jì)等成果來(lái)編寫(xiě)游戲使用說(shuō)明書(shū)。以便使用者能更好的了解和使用該軟件。</p><p><b> 6.2 定義</b></p><p> 使用說(shuō)明書(shū):正確使用某件事物的方法和提示以及主要事項(xiàng)等。</p><p><b> 6.3 軟件概述<
90、;/b></p><p><b> 6.3.1 目標(biāo)</b></p><p> 要求實(shí)現(xiàn)一個(gè)手機(jī)版的拼圖游戲,游戲采用J2ME技術(shù)實(shí)現(xiàn)游戲的流程控制、邏輯處理和記錄存儲(chǔ)等功能。讓我們熟悉手機(jī)項(xiàng)目的管理模式和項(xiàng)目開(kāi)發(fā)的一般流程,增強(qiáng)自我動(dòng)手意識(shí),熟悉單機(jī)游戲的設(shè)計(jì)方法和思路,熟練運(yùn)用JavaME的知識(shí)進(jìn)行手機(jī)游戲開(kāi)發(fā),掌握在模擬器以及真機(jī)上調(diào)試代碼的技巧,加深
91、對(duì)所學(xué)的知識(shí)的了解、應(yīng)用,提高分析問(wèn)題以及解決問(wèn)題的能力。</p><p><b> 6.3.2 功能</b></p><p> 實(shí)現(xiàn)手機(jī)拼圖游戲的基本功能:使用上下左右方向鍵控制方塊,使其拼裝成原始圖案。以及菜單功能、分?jǐn)?shù)存儲(chǔ)功能、選項(xiàng)設(shè)置功能、音效功能、完整的UI提示等。</p><p> 6.4 具體使用說(shuō)明</p>
92、<p> 下面是該軟件的具體操作情況和游戲的具體內(nèi)容,以便更清楚熟悉該游戲。</p><p><b> 6.4.1 主界面</b></p><p> 打開(kāi)游戲,進(jìn)入界面,出現(xiàn)一張主圖片。5秒鐘之后,界面將自動(dòng)轉(zhuǎn)到游戲主界面,進(jìn)如游戲設(shè)置主頁(yè)如圖</p><p> 圖6.1 游戲設(shè)置主頁(yè)</p><p>
93、; 用左右鍵可以將當(dāng)前“開(kāi)始游戲”,改為其他設(shè)置,有“圖片選擇”,“難度選擇”,“幫助”,“記錄”,“關(guān)于”,“關(guān)閉游戲”選擇項(xiàng)。按中間鍵后會(huì)進(jìn)入各個(gè)選項(xiàng)中。</p><p> 6.4.2 開(kāi)始游戲</p><p> 點(diǎn)進(jìn)“開(kāi)始游戲”,則游戲開(kāi)始,使用上下左右鍵可移動(dòng)小圖片。將小圖片移動(dòng)到恢復(fù)到原圖后。界面中間會(huì)出現(xiàn)“嘿嘿!勝利咯…”字樣。按“*”鍵,界面會(huì)返回游戲主界面。</
94、p><p> 6.4.3 圖片選擇</p><p> 點(diǎn)進(jìn)“圖片選擇”,則界面會(huì)出現(xiàn)一張第一張圖片,圖片下面寫(xiě)有“圖片一”的字樣。按左右鍵會(huì)出現(xiàn)下一張圖片,玩家可以根據(jù)喜好按中間鍵確定選擇其中一張,該軟件中一共會(huì)有7張圖片。圖片以當(dāng)下流行的可愛(ài)的蒙奇奇為主要人物。</p><p> 6.4.4 難度選擇</p><p> 點(diǎn)進(jìn)“難度選擇”
95、,則界面中間會(huì)出現(xiàn)“3*3”字樣。意思為按中間鍵選擇此難度是將原圖片分割為3*3=9張小圖片,難度為容易。按下左右鍵分別還會(huì)出現(xiàn)“4*4”和“5*5”的字樣。分別對(duì)應(yīng)4*4=16張小圖片和5*5=25張小圖片。對(duì)應(yīng)代表的是一般難度和困難兩個(gè)等級(jí)。</p><p><b> 6.4.5 幫助</b></p><p> 點(diǎn)進(jìn)“幫助”后,會(huì)出現(xiàn)游戲的具體操作,以便幫助玩
96、家更好的操作該軟件。出現(xiàn)字樣“使用上下左右方向鍵控制方塊,使其拼裝成原始圖案。通過(guò)每次移動(dòng)一個(gè)小方塊,使其最后將多個(gè)小方塊拼成原始圖案?!?按返回鍵,界面再次回到游戲主界面中。</p><p><b> 6.4.6 關(guān)于</b></p><p> 點(diǎn)進(jìn)“關(guān)于”后,是說(shuō)明該軟件的其他相關(guān)信息。如時(shí)間和作者。出現(xiàn)字樣“2010 衛(wèi)姣慶”。按返回鍵,界面再次回到游戲
97、主界面中。</p><p><b> 6.4.7 記錄</b></p><p> 點(diǎn)進(jìn)“記錄”后,在還沒(méi)玩游戲時(shí),顯示記錄為0,開(kāi)始拼圖后,其中所記錄的是是玩家所用最少步數(shù)。玩家再次玩的時(shí)候,會(huì)比較此次用的步數(shù)和當(dāng)前記錄的步數(shù),一直保證記錄里存放的是所有玩家的最少步數(shù)。</p><p> 6.4.8 關(guān)閉游戲</p><
98、;p> 點(diǎn)進(jìn)“關(guān)閉游戲”,游戲?qū)㈥P(guān)閉。</p><p><b> 7 系統(tǒng)測(cè)試文檔</b></p><p><b> 7.1 編寫(xiě)目的</b></p><p> 測(cè)試計(jì)劃是組織管理層面的文件,從組織管理的角度對(duì)一次測(cè)試活動(dòng)進(jìn)行規(guī)劃 。測(cè)試計(jì)劃包含足夠的信息使測(cè)試人員明白項(xiàng)目需要做什么以及如何運(yùn)作測(cè)試。另外,清
99、晰的文檔結(jié)構(gòu)能使任何一個(gè) 讀者在瀏覽計(jì)劃的前面幾頁(yè)后,就能對(duì)項(xiàng)目有一個(gè)大概的認(rèn)識(shí)。</p><p><b> 7.2 定義</b></p><p> 測(cè)試用例(Test Case)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。</p><p> 測(cè)試用例(Test Case)目
100、前沒(méi)有經(jīng)典的定義。比較通常的說(shuō)法是:指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略。內(nèi)容包括測(cè)試目標(biāo)、測(cè)試環(huán)境、輸入數(shù)據(jù)、測(cè)試步驟、預(yù)期結(jié)果、測(cè)試腳本等,并形成文檔。</p><p><b> 7.3 測(cè)試環(huán)境</b></p><p> 運(yùn)行環(huán)境:windows(XP/vista/win7)+Eclipse+EclipseMe+WTK&l
101、t;/p><p> 真機(jī): CLDC: 1.0</p><p> MIDP: 1.0</p><p> 屏幕: 320*480 </p><p> 可選擇不同類型的真機(jī)上進(jìn)行測(cè)試 </p><p><b> 7.4 系統(tǒng)測(cè)試</b></p><p> 7.4.
102、1 游戲界面菜單選項(xiàng)的功能測(cè)試</p><p><b> ?。?)菜單測(cè)試</b></p><p> 打開(kāi)游戲點(diǎn)擊“開(kāi)始游戲”</p><p> 輸出:游戲開(kāi)始時(shí)相應(yīng)圖片。</p><p><b> 結(jié)果:正常。</b></p><p> 打開(kāi)游戲點(diǎn)擊“關(guān)閉游戲”&l
103、t;/p><p><b> 輸出:游戲結(jié)束。</b></p><p><b> 結(jié)果:正常。</b></p><p><b> ?。?)圖片選擇測(cè)試</b></p><p> 打開(kāi)游戲點(diǎn)擊“圖片選擇”“圖片一”</p><p> 輸出:出現(xiàn)第一張圖片
104、。</p><p> 結(jié)果:在運(yùn)行環(huán)境中正常。</p><p> 打開(kāi)游戲點(diǎn)擊“圖片選擇”“圖片二”</p><p> 輸出:出現(xiàn)第二張圖片。</p><p> 結(jié)果:在運(yùn)行環(huán)境中正常。</p><p> 其他圖片同上,在運(yùn)行環(huán)境中都正常,但在有的真機(jī)上發(fā)生異常,提示信息為內(nèi)存不足。也許是真機(jī)配置較低所致。&
105、lt;/p><p><b> ?。?)等級(jí)選擇測(cè)試</b></p><p> 打開(kāi)游戲點(diǎn)擊“難度選擇”“3*3”</p><p><b> 輸出:3*3。</b></p><p><b> 結(jié)果:正常。</b></p><p> 打開(kāi)游戲點(diǎn)擊“難度選
106、擇”“4*4”</p><p><b> 輸出:4*4。</b></p><p><b> 結(jié)果:正常。</b></p><p> 打開(kāi)游戲點(diǎn)擊“難度選擇”“5*5”</p><p><b> 輸出:5*5。</b></p><p><b&
107、gt; 結(jié)果:正常。</b></p><p><b> ?。?)幫助設(shè)置測(cè)試</b></p><p> 打開(kāi)游戲點(diǎn)擊“幫助”</p><p> 輸出:使用上下左右方向鍵控制方塊,使其拼裝成原始圖。通過(guò)每次移動(dòng)一個(gè)小方塊,使其最后將多個(gè)小方塊拼成原始圖案。</p><p><b> 結(jié)果:正常
108、。</b></p><p><b> ?。?)關(guān)于設(shè)置測(cè)試</b></p><p> 打開(kāi)游戲點(diǎn)擊“關(guān)于”</p><p> 輸出:衛(wèi)姣慶 2010。</p><p><b> 結(jié)果:正常。</b></p><p><b> ?。?)音效測(cè)試&
109、lt;/b></p><p> 打開(kāi)游戲“音樂(lè)選擇”</p><p><b> 輸出:音樂(lè)開(kāi)。</b></p><p> 結(jié)果:音樂(lè)加載正常,一打開(kāi)游戲邊開(kāi)始播放音樂(lè)。</p><p><b> (7)排行榜測(cè)試</b></p><p><b> 打
110、開(kāi)游戲“記錄”</b></p><p> 輸出:玩家游戲步數(shù)記錄。</p><p> 結(jié)果:異常,只顯示“你的當(dāng)前的分?jǐn)?shù)為0”,具體沒(méi)有實(shí)現(xiàn)存儲(chǔ)功能。最后在老師的幫助下,解決了這一問(wèn)題??梢哉o@示當(dāng)前完成游戲的玩家所用的最少步數(shù)。</p><p> 7.4.2 按鍵事件的功能測(cè)試</p><p> (1) 圖片移動(dòng)測(cè)試&
111、lt;/p><p> 游戲過(guò)程中,點(diǎn)擊“左、右、上、下”方向鍵</p><p> 輸出:方塊正常移動(dòng),不會(huì)移出邊界,且每移動(dòng)一步,界面左下角顯示“步數(shù):(移動(dòng)的步數(shù))。</p><p><b> 結(jié)果:正常。</b></p><p> (2) 確定功能測(cè)試</p><p> 游戲過(guò)程中,點(diǎn)擊
112、中間鍵或“進(jìn)入”時(shí)</p><p> 輸出:進(jìn)入游戲相應(yīng)界面。</p><p><b> 結(jié)果:正常。</b></p><p> (3) 返回功能測(cè)試</p><p> 游戲過(guò)程中,點(diǎn)擊“*”鍵或“返回”時(shí)</p><p> 輸出:返回游戲主界面。</p><p>
113、;<b> 結(jié)果:正常。</b></p><p> 7.4.3 游戲完成測(cè)試</p><p> 將小圖片移動(dòng)到原圖案時(shí)</p><p><b> 輸出:游戲勝利。</b></p><p> 結(jié)果:在運(yùn)行環(huán)境中正常輸出“嘿嘿,勝利咯…”,在真機(jī)中顯示的“勝利”字樣溢出。估計(jì)是真機(jī)界面分辨率所
114、致!</p><p> 7.5 測(cè)試結(jié)果分析</p><p> 該軟件實(shí)現(xiàn)了拼圖游戲的基本功能,但是還存在好多問(wèn)題,主要是記錄存儲(chǔ)等問(wèn)題,以及在真機(jī)上出現(xiàn)的問(wèn)題尚未解決。應(yīng)該再進(jìn)一步改進(jìn),通過(guò)查資料問(wèn)同學(xué)以及老師等途徑,將這些基本功能也一起實(shí)現(xiàn)。</p><p><b> 8 結(jié) 論</b></p><p> 先
115、說(shuō)完這個(gè)游戲吧!根據(jù)自己玩下來(lái)的經(jīng)驗(yàn).發(fā)現(xiàn)玩這個(gè)游戲.只要能第一次拼完.之后的路就好走得多了.因?yàn)樗吘故峭粡垐D,有規(guī)律可以掌握. 每張圖的位置都是一定的.建議先拼地板和上面.其他遇到現(xiàn)在不知道放在哪得圖可以先放在旁邊。</p><p> 關(guān)于設(shè)計(jì)游戲,覺(jué)得是對(duì)一個(gè)人整體思維能力和想象力的一個(gè)挑戰(zhàn)自己大腦極限的工作,總是伴著某種痛苦,因?yàn)楹芏嗄阆爰尤氲挠螒蛳到y(tǒng)和特色,經(jīng)過(guò)自己檢驗(yàn)和想象式測(cè)試,就會(huì)發(fā)現(xiàn)存在很多
116、問(wèn)題,于是不斷的改,只到最后才發(fā)現(xiàn),最簡(jiǎn)單的設(shè)定往往最有效最合理,然后再以此追加更高級(jí)的復(fù)雜設(shè)定。</p><p> “時(shí)尚、有趣”是游戲設(shè)計(jì)的一個(gè)關(guān)鍵主題,與玩家進(jìn)行游戲內(nèi)外的互動(dòng),讓玩家實(shí)現(xiàn)自身價(jià)值,獲得友情、得到關(guān)懷、贏得尊重是游戲任務(wù)設(shè)計(jì)的潛在目的,優(yōu)秀游戲設(shè)計(jì)的任務(wù)能夠令玩家留下刻骨銘心的回憶。</p><p> 我所創(chuàng)造的游戲,并沒(méi)有很復(fù)雜的任務(wù),太煩瑣的東西,我崇尚給玩家
117、帶來(lái)簡(jiǎn)單。雖然這樣對(duì)我們的制作會(huì)帶來(lái)更大工作量,反過(guò)來(lái)說(shuō)回報(bào)也是非常大的。不知道為了開(kāi)發(fā)游戲而開(kāi)發(fā)游戲。最重要的還是過(guò)程,也許會(huì)很艱難,很煩躁,很無(wú)奈。修改,出錯(cuò),出錯(cuò),修改……無(wú)休止的重復(fù)。不斷的進(jìn)步,最后終于做出點(diǎn)成果。</p><p> 通過(guò)這次游戲設(shè)計(jì),我對(duì)游戲有個(gè)一個(gè)自己的認(rèn)識(shí)。一句話: 游戲主要是讓玩家玩的更開(kāi)心,雖然我還不是業(yè)內(nèi)人事,也沒(méi)有做過(guò)多少游戲策劃。卻想了許多,游戲做出來(lái)是干什么
118、的?當(dāng)然是讓人玩的拉。玩是玩家的參與的過(guò)程,目的只有一個(gè):玩的開(kāi)心。游戲出了那么多,發(fā)展的結(jié)果就是游戲業(yè)競(jìng)爭(zhēng)越來(lái)越激烈。但是不管怎么競(jìng)爭(zhēng),不管怎么發(fā)展。目的都只有一個(gè)?。耗蔷褪亲屚婕彝娴?。在我的心目中,游戲的一切優(yōu)劣,各個(gè)游戲業(yè)的工作人員的能力的高低。唯一的評(píng)價(jià)方式就是是否能夠讓玩家玩的開(kāi)心! 如果把如何讓玩家玩的開(kāi)心這個(gè)話題打開(kāi)了,那就大的很咯!我作為新人也沒(méi)有把這個(gè)話題完全
119、展開(kāi)的能力,只能拋磚引玉,希望各位有經(jīng)驗(yàn)的達(dá)人能夠把話題慢慢展開(kāi)了。 隨便舉點(diǎn)例子吧: 玩魔獸世界的都會(huì)遇到掉線的情況吧,但是掉線后只要網(wǎng)絡(luò)沒(méi)有大的問(wèn)題,重新上線的速度應(yīng)該不會(huì)太慢,因?yàn)槟悴恍枰抨?duì)了。直接進(jìn)游戲。貌似沒(méi)有什么大不了的!但是作為一個(gè)玩家的時(shí)候,如果是當(dāng)時(shí)你正在參與團(tuán)隊(duì)/集體活動(dòng),掉了線又需要重新排隊(duì)。甚至遇到服務(wù)器在線人數(shù)達(dá)到了服務(wù)器穩(wěn)定在線的限制人數(shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 手機(jī)游戲畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 手機(jī)模具畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)—
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 【畢業(yè)設(shè)計(jì)】墊圈內(nèi)徑檢測(cè)裝置畢業(yè)設(shè)計(jì)說(shuō)明書(shū)課程畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 手機(jī)外殼塑料模具畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 游戲點(diǎn)卡在線銷售系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū).wps
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū).wps
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū).wps
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū).wps
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū).wps
- 采煤畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 污水畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 夾具畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 選礦畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 電站畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 建筑畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 連鑄機(jī)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論