王文月
遼寧錦州渤海大學信息科學與技術學院
基于J2ME的手機飛機對戰(zhàn)游戲的設計與實現(xiàn)
王文月
遼寧錦州渤海大學信息科學與技術學院
隨著社會的發(fā)展,科技的進步,手機技術也取得巨大的額突破。在科技技術的背景下,手機功能逐漸強大,并且在人們的日常生活中起到了越來越大的作用,手機幾乎成為了人們生活中不可或缺的一個重要的組成部分。手機從以往的通信工具逐步轉變?yōu)榱诵蓍e娛樂的工具,能夠提供人們豐富的娛樂功能,手機游戲的誕生讓人們獲得了更多的生活樂趣。近些年,手機用戶群體的逐漸擴大,推動了手機產(chǎn)業(yè)在IT行業(yè)中發(fā)展最為迅速。目前的手機功能眾多,游戲類型眾多,手機游戲開發(fā)團隊也日益地擴大,人們對手機游戲的需求也不斷提高。本文基于J2ME設計了手機飛機對戰(zhàn)游戲。
手機游戲 J2ME 飛機對戰(zhàn)
現(xiàn)今,手機游戲的主要盈利來源于游戲點卡的購買、下載中收費機制、銷售虛擬物品等。雖然游戲的收費不是很貴,然而考慮到手機的用戶群體眾多,所以在智能手機日益壯大的今天,越來越多的用戶通過手機達到娛樂的目的,手機游戲具有廣闊的發(fā)展前景,利潤十分豐厚。
手機的用戶群體來自多個領域,各自的生活背景以及受教育的文化程度不同,以及手機自身的外形、功能方面的多樣性,導致了以控制臺為主的傳統(tǒng)游戲和手機游戲之間存在很大的差異。手機游戲要獲得成功,需要具備以下幾點:
1.1 易操作,易學習掌握
大部分的手機玩家都不是專業(yè)的老手,而是休閑玩家。所以針對大部分手機用戶群體,所設計的手機游戲要簡單易操作,玩家能夠在不需要旁人的幫助或者復雜的指導能夠獨自掌握游戲內(nèi)容,以及游戲技巧。玩家只需要憑借自己的感覺做出游戲操作。當游戲中有新功能出現(xiàn)的時候,游戲設計中就會給出簡單的游戲介紹以及游戲說明。這是保證游戲易操作的首要前提。
1.2 可愛的造型卡通
對于卡通類型的游戲角色,針對不同年齡階段的用戶群體繪制感興趣的可愛的卡通造型。根據(jù)用戶的性別、年齡不同,從而設計出能給與他們產(chǎn)生共鳴的卡通人物造型,以此培養(yǎng)其客戶和手機游戲角色之間的感情,這樣手機用戶才可以從內(nèi)心上接受,最終讓用戶群體可以進入到游戲所設定的角色里面。在手機游戲里面用戶能夠感受到巨大的成功感和滿足感。
1.3 可中斷性
當玩家在休息以及排隊等待的時間里,通常會選擇手機游戲打發(fā)時間,手機游戲可以讓手機用戶充分利用起這個碎片化的時間,讓用戶在等待的過程中娛樂了自己。為用戶提供短時間的娛樂功能。
1.4 內(nèi)容健康
由于不同的年齡階段的人,感興趣的手機游戲也不同。手機游戲的使用場合大多是利用人們的空閑時間,手機游戲的內(nèi)容必須需要保證足夠的健康,表現(xiàn)形式方面不可以涉及黃色暴力方面,這樣才可以提供一個健康的游戲環(huán)境氛圍。
2.1 技術可行性分析
作為小型的射擊游戲,“足下機戰(zhàn)”游戲的設計是在PC機上實現(xiàn)的,運用免費的軟件,J2ME使得手機游戲程序得到了實現(xiàn)。類別中詳細說明了特定的設備,比如:除了PDA是單獨的種類之外,手機也是屬于該類。其中J2ME中需用用到的技術是虛擬機。J2ME滿足了Java程序執(zhí)行程序的過程中不用考慮到底層硬件,在一定程度上大大地簡化了手機的應用。GameCanvas類實現(xiàn)了游戲里面的角色動作、子彈的移動已經(jīng)新建、玩家生命的結束,Sprite類實現(xiàn)了爆炸效果以及碰撞檢測。
基于Ecplise6.0.0的集成開發(fā)環(huán)境,本文實現(xiàn)了游戲的設計,該平臺是一個集成度高,功能性強的平臺。Eclipse與框架存在很多方面的相同性,而且eclipse的服務需要運用插件實現(xiàn),開發(fā)環(huán)境的構建可以通過用插件、組件實現(xiàn),而且用戶能夠根據(jù)自己的需求設計出新的插件。
本文設計的游戲的設計思想是選擇了模塊化思想,將對象的屬性已經(jīng)概念分別給游戲中的目標。當游戲開始的時候需要把多種的圖形載入之后,需要將背景圖形繪制出來。當主線程進入到設計的時候,按照具體的頻率值并且運用緩沖技術對屏幕進行重新的繪制,從而實現(xiàn)頁面刷新的功能,基于該項操作的基礎上可以及手機游戲成功地顯示出來。對“發(fā)射”鍵實行控制管理,屏幕上的目標的移動路線與屏幕刷新的頻率是有著直接的聯(lián)系。具體流程圖如圖1所示。
圖1 程序運行流程圖
游戲結果界面如圖2所示。
圖2 游戲運行效果界面
3.1 起始界面
起始界面所需要完成的功能是當游戲開始前提供給用戶選擇戰(zhàn)機的選擇。算法思想如下:
①屏幕的刷新:先是繪制部分,該部分具體包括了背景圖以及灰暗區(qū)域、“返回”按鈕。
②將游戲的題目顯示在屏幕頂部。
③將戰(zhàn)機的箭頭方向繪制在屏幕特定的地方,實現(xiàn)思想是在箭頭方向確定好后通過paint()方法繪制。
④繪制戰(zhàn)機:先是將戰(zhàn)機坐標繪制出來,對游戲文字進行設置,接著通過參數(shù)的選擇,選擇switch多路開關對戰(zhàn)機以及相應的參數(shù)進行判斷。
起始界面實現(xiàn)步驟:
StartGame類中實現(xiàn)游戲的起始界面,將變量初始化,接著將paintScreen()方法自定義,進而完成起始界面的繪制。
核心代碼如下:
當代碼實現(xiàn)以后,運用paint()方法繪制初始界面。起始界面里面,用戶能夠選用一種戰(zhàn)機來完成戰(zhàn)斗,戰(zhàn)機選擇不同,那么所具備的戰(zhàn)斗能力也不同,通過戰(zhàn)機的選擇從而達到各個用戶的需求。
3.2 排行榜模塊設計
排行榜模塊的功能主要是將玩家的成績記錄下來,從而進一步得出玩家的積分,并完成積分制的排名。算法的思想具體如下:
①先進行運行環(huán)境的初始化:對變量聲明,獲得目前的游戲成績,制作游戲的背景圖。
②把游戲的積分放到排行榜:通過for循環(huán)來實現(xiàn),先是比較最高分,當最高分大于其中的一個記錄的時候,就把這個記錄替換掉,另外并且強行退出for循環(huán)。
③因為for循環(huán)退出的時候是強制的,所以該過程中的循環(huán)變量指的就是排行榜中該記錄所在的位置。
④數(shù)據(jù)庫的更新:將數(shù)據(jù)庫打開,數(shù)據(jù)更新后關閉數(shù)據(jù)。
⑤排行榜繪制:在屏幕上顯示出緩沖區(qū)中的數(shù)據(jù)。
部分核心代碼如下:
3.3 游戲說明模塊的設計與實現(xiàn)
游戲說明模塊的功能是將游戲做個簡短的介紹,同時并將介紹顯示出來。游戲說明的流程圖如圖3所示。
圖3 游戲說明流程圖
游戲說明的步驟如下:
代碼設計中,第一步是對游戲文字說明進行定義。例如private static final String introducedString =“這個游戲一共有3關,其中每一小關中有3個小節(jié)。每一個玩家的生命有3條,當生命都用完后,就表示游戲結束,當玩家在9個關卡中都通過,這表明玩家成功獲勝,結束游戲?!钡诙绞窃诙x構建函數(shù)的時候在屏幕中顯示“游戲說明”,內(nèi)容的格式是Stringltem組件,另外還需要把“返回”軟鍵增加上去,從而實現(xiàn)偵聽器的綁定。具體代碼如下:
Introduced(sharpshooterMIDlet midlete){
super(“游戲簡單說明”);
this.midlete=midlete;
append(new StringIt(null,introduced));
backCommands=new Command(“退回”,Command.BACK,1),addCommand(backCommands);
RecordStoe rrss=RecordStoe.openRecordSore(“BattleA ircraf”,false);
setCommandListener(this);}
結語:本文的開發(fā)平臺是J2ME語言,集成開發(fā)環(huán)境選擇Eclipse6.0.0。本文設計的游戲實現(xiàn)的功能包括了飛機射擊類游戲中的基本功能。游戲的組成模塊包括了地圖模塊、主菜單模塊、音效設置以及戰(zhàn)斗模塊等。在菜單的功能模塊中可以顯示所有的功能,例如音樂播放,以及游戲說明等。
[1]Donald Brown,Chad ichaelDavis,Scott Stanlick. Struts 2 in Action [M]. American, Manning Publications,2015,35-30
[2]吳璣震,戴天嘯,馬春江.飛機大戰(zhàn)游戲軟件中的數(shù)據(jù)結構和策略分析[J]信息與電腦,2016(13)