摘要:該文以Java語言作為程序的開發(fā)工具,從整體思路到部分功能的實(shí)現(xiàn)等介紹了七巧板游戲的設(shè)計(jì)。
關(guān)鍵詞:Java;手機(jī);游戲
中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)36-10538-02
Java Language used to Design Mobile Game: Qiqiaoban
JIANG Yun-li
(Shanxi Vocational and Technical College of Biological Applications, Taiyuan 030031, China)
Abstract: In this paper, Java language as a program development tool introduced the Qiqiaoban game design from the overall idea to the realization of some functions.
Key words: Java; Mobile; Game
在信息高速發(fā)展的當(dāng)今社會中,手機(jī)及其他無線設(shè)備與人們的工作和生活聯(lián)系越來越緊密。隨著信息網(wǎng)絡(luò)化的不斷開發(fā),尤其是3G業(yè)務(wù)的迅速發(fā)展,手機(jī)以及其他無線設(shè)備連接網(wǎng)絡(luò)逐漸會成為一種主流趨勢。由于J2ME的廣泛使用,手機(jī)Java的開發(fā)已經(jīng)成為一個(gè)相當(dāng)大的市場。幾乎所有流行的Java開發(fā)工具都已經(jīng)改造得適合于J2ME開發(fā)者的需要。
1 語言介紹
Java語言是美國Sun Microsystem的James Gosling、Pratrick Naughton及Mike Sheridan等人于1991年精心設(shè)計(jì)出來的計(jì)算機(jī)編程語言,其構(gòu)想在于實(shí)現(xiàn)使用同一種編程語言所寫出來的程序可以在不同的平臺上運(yùn)作。這種架構(gòu)對于消費(fèi)性電子產(chǎn)品而言是具有革命性的,因?yàn)樵谙M(fèi)性電子產(chǎn)品中的處理器及操作系統(tǒng)各不相同,要在這些平臺上開發(fā)程序必須要了解各個(gè)平臺的特性,以及其提供的API使用方式,分別開發(fā)不同的版本才能執(zhí)行,對程序的普及性影響很大。
2 開發(fā)環(huán)境及功能描述
2.1 開發(fā)環(huán)境
操作系統(tǒng):Microsoft Windows XP
程序語言:Java 2
開發(fā)包:Java 2 Micro Edition、J2ME Wireless Tool Kit 2.1
2.2 功能描述
本文著眼于J2ME技術(shù)的應(yīng)用,通過比較傳統(tǒng)計(jì)算機(jī)平臺游戲和移動(dòng)平臺游戲的優(yōu)缺點(diǎn),開發(fā)一款適合手機(jī)平臺的可商用的手機(jī)游戲程序——七巧板游戲。本程序的界面美觀,操作簡單,將老少皆宜的經(jīng)典作品移植到手機(jī)上來,為更流行的硬件平臺提供應(yīng)用軟件。
3 整體設(shè)計(jì)
3.1 技術(shù)問題
1) 游戲的開始和結(jié)束動(dòng)態(tài)信息畫面作為構(gòu)成一個(gè)完美程序都是必不可少的重要部分。良好的用戶界面更是吸引用戶的硬指標(biāo),相關(guān)的美術(shù)構(gòu)圖也需要有一定的考慮。
2) 用戶運(yùn)行游戲時(shí)需要有保存記錄的可能。圖形記錄的存儲方式也需要有較好的解決方案。手機(jī)中由于處理器和內(nèi)存空間、存儲空間都十分有限,其數(shù)據(jù)庫系統(tǒng)與普通PC大相徑庭。其數(shù)據(jù)庫結(jié)構(gòu)較為簡單,被稱之為RMS系統(tǒng)。
3) Java是基于虛擬機(jī)的半解釋型編譯系統(tǒng),其執(zhí)行效率較C++等完全編譯后的程序會低很多,程序如果不進(jìn)行精簡和優(yōu)化,將可能導(dǎo)致運(yùn)行的不流暢。
3.2 程序流程
MIDlet suite是MIDP應(yīng)用程序的最小單位,JAM負(fù)責(zé)將手機(jī)內(nèi)的MIDlet suite以圖形化的方式呈現(xiàn),讓用戶能夠選取欲執(zhí)行的MIDlet suite,一旦選取了某個(gè)MIDlet suite,操作系統(tǒng)就會激活KVM執(zhí)行里面的MIDlet。MIDlet及相關(guān)的支持類組成了MIDP應(yīng)用程序的實(shí)際內(nèi)容。
主程序流程如圖1所示。
4 部分功能代碼
4.1 游戲進(jìn)入界面的代碼
private Image getImage(String fileName)
{try
{return Image.createImage(\"/\" + fileName);}
catch(IOException e)
{return 1;}}
4.2 圖形選擇代碼
public Coordinate add(Coordinate coordinate)
{return new Coordinate(x + coordinate.x, y + coordinate.y);
//原點(diǎn)坐標(biāo)的x、y值加上新傳入coordinate的x、y值,再返回一個(gè)新點(diǎn)的x、y值}
public Coordinate subtract(Coordinate coordinate)
{return new Coordinate(x - coordinate.x, y - coordinate.y);
//原點(diǎn)坐標(biāo)的x、y值減去新傳入coordinate的x、y值,再返回一個(gè)新點(diǎn)的x、y值}
4.3旋轉(zhuǎn)功能代碼
public Coordinate[] shape(int i, int j)
{ switch(i)// 參數(shù)i 表示七塊圖形的編號
{ default:
break;
case 0: // '\\0' 這里表示它是第一塊圖形
switch(j) //參數(shù) j 表示 i 號圖形旋轉(zhuǎn)后的圖形數(shù)據(jù)編號
{ case 0: // '\\0'
return (new Coordinate[] {
new Coordinate(0, 0), new Coordinate(116, 0), new Coordinate(116, 116)});
case 1: // '\\001'
return (new Coordinate[] {
new Coordinate(0, 0), new Coordinate(82, 82), new Coordinate(0, 164)});
case 2: // '\\002'
return (new Coordinate[] {
new Coordinate(116, 0), new Coordinate(116, 116), new Coordinate(0, 116)});
case 3: // '\\003'
return (new Coordinate[] {
new Coordinate(0, 0), new Coordinate(164, 0), new Coordinate(82, 82)});
case 4: // '\\004'
return (new Coordinate[] {
new Coordinate(0, 0), new Coordinate(116, 116), new Coordinate(0, 116)});
case 5: // '\\005'
return (new Coordinate[] {
new Coordinate(82, 0), new Coordinate(82, 164), new Coordinate(0, 82)});
case 6: // '\\006'
return (new Coordinate[] {
new Coordinate(0, 0), new Coordinate(116, 0), new Coordinate(0, 116)});
case 7: // '\\007'
return (new Coordinate[] {
new Coordinate(82, 0), new Coordinate(164, 82), new Coordinate(0, 82)
}); }
break;
4.4 游戲界面顯示
游戲界面如圖2所示。
5 總結(jié)
隨著信息技術(shù)的高速發(fā)展,類似手機(jī)等信息化含量比較高的數(shù)碼產(chǎn)品會進(jìn)一步走入人們的生活,人們對其依賴性也會更高,對手機(jī)的軟件開發(fā)能夠有效刺激客戶的購買欲望。這款小游戲能夠在這方面有一定的作為,上述游戲的設(shè)置雖然能夠解決一定的控制功能,但是在實(shí)用時(shí)還需要進(jìn)一步的深化和完善。
參考文獻(xiàn):
[1] Mary Campione, Kathy Walrath, Alison Huml.Java 語言導(dǎo)學(xué)[M].馬朝暉,陳美紅,譯.北京:機(jī)械工業(yè)出版社,2004.
[2] 王森(臺灣).手機(jī)程序設(shè)計(jì)入門[M].北京:中國鐵道出版社,2003.
[3] http://forum.nokia.com.cn/sch/index.html.
[4] http://www.j2medev.com.