999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于J2ME的五子棋手機(jī)游戲開發(fā)

2009-04-29 00:00:00劉新娥
電腦知識與技術(shù) 2009年33期

摘要:手機(jī)游戲開發(fā)基于J2ME技術(shù),以五子棋游戲?yàn)殚_發(fā)實(shí)例并加以實(shí)現(xiàn);基于Java特性使該系統(tǒng)具有較高的可移植性,可在主流手機(jī)平臺中正常運(yùn)行,減少移植成本。

關(guān)鍵詞:手機(jī)游戲;J2ME;MIDP

中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)33-9262-02

Development of GoBang Mobile Games System Based on J2ME

LIU Xin-e

(Nanjing College of Information Technology, Nanjing 210046, China)

Abstract: Development of mobile game system based on J2ME, and takes the chess game as the development example to implement; This system based on the Java characteristic is high portable,it can implement on the mainstream mobile platform,and reduce the cost of migration.

Key words: mobile games; java 2 Micro Edition(J2ME); mobile information device profile

1 概述

Sun認(rèn)為,各種設(shè)備的功能相差很大,同時設(shè)備的硬件、軟件系統(tǒng)也千差萬別,對應(yīng)各種不同的設(shè)備設(shè)計(jì)制造出一個單一的開發(fā)系統(tǒng)是一件不可能也沒有實(shí)際意義的事,一種Java平臺也不能適用于所有的設(shè)備。因此,在Java2平臺下,Sun針對消費(fèi)類和嵌入式設(shè)備定義了Java2平臺小型版(J2ME)。J2ME作為Java的一個平臺,充分體現(xiàn)了Sun公司倡導(dǎo)的“一次編寫,處處運(yùn)行”的理念。它以其不斷發(fā)展的技術(shù)優(yōu)勢獲得了手機(jī)制造商越來越廣泛的支持。J2ME平臺被認(rèn)為是當(dāng)前移動開發(fā)領(lǐng)域中最杰出的手機(jī)程序開發(fā)平臺之一,它已被開發(fā)者、設(shè)備制造商、網(wǎng)絡(luò)通信公司和消費(fèi)者廣泛接受[1]。

2 J2ME體系架構(gòu)

2.1 J2ME體系架構(gòu)概述

為了滿足各種各樣設(shè)備和目標(biāo)市場的需要,J2ME架構(gòu)定義了Configuration,Profile和可選包作為建立完整Java運(yùn)行環(huán)境的元素。每種Configuration,Profile和可選包的組合都針對了一類設(shè)備,這樣就可以在內(nèi)存、處理器能力,以及I/O能力方面對Java平臺的性能進(jìn)行優(yōu)化。不同的設(shè)備通過實(shí)現(xiàn)不同的Configuration,Profile,以及可選包組合來提供對Java的軟件支持。J2ME只是要求設(shè)備提供的最小功能,具體的設(shè)備提供商可以在J2ME之外提供其自定制的Java包,實(shí)現(xiàn)J2ME未定義的功能。J2ME通過引入Configuration和Profile的概念,為軟件開發(fā)者提供了一個通用的開發(fā)平臺,如圖1所示。其中Configuration主要定義了核心的Java語言的功能,而Profile則定義了在Java核心功能之上的功能擴(kuò)展API包。

2.2 Configuration

Configuration通過定義類庫的最小集合和一個虛擬機(jī)指定了針對這些設(shè)備的J2ME平臺應(yīng)具有的基本功能,即Configuration定義了Java編程語言的子集、Java虛擬機(jī)的功能特性、安全性、網(wǎng)絡(luò)特性以及核心平臺庫。目前J2ME規(guī)范只有兩種J2ME Configuration,即CLDC(Connected Limited Device Configuration,有限連接設(shè)備Configuration)和CDC(Connected Device Configuration,連接設(shè)備Configuration)。Configuration并不能單獨(dú)使用,必須與Profile組合使用。Configuration只是定義了設(shè)備必須具有的功能,并不是對所有的功能都要求實(shí)現(xiàn)。

2.3 Profile

Profile定義了應(yīng)用的生命周期模型、用戶界面以及其他特性。Profile以Configuration為基礎(chǔ),定義了附加的Java API庫和與特定市場相關(guān)的特性,是針對特定行業(yè)和設(shè)備而設(shè)計(jì)的。每個Configuration上都定義了一個或多個Profile,其中某些Profile需依賴其他Profile。定義在CLDC Configuration上的Profile目前只有MIDP(Mobile Information Device Profile,移動信息設(shè)備Profile)。在CDC上目前有FP(Foundation Profile,基礎(chǔ)Profile)、PP(Personal Profile,個人Profile)、PBP(Personal Basis Profile,個人基礎(chǔ)Profile)。由于Profile為設(shè)備定義了額外的功能,因此對設(shè)備硬件的要求通常會比Configuration的要求稍高。

3 基于J2ME的手機(jī)游戲開發(fā)

3.1 J2ME手機(jī)游戲概述

J2ME手機(jī)游戲通常由MIDlet類、用戶界面類和游戲?qū)ο箢惤M成。其中,MIDlet是游戲的基本執(zhí)行單元,負(fù)責(zé)游戲生命周期的控制,如游戲的活動、暫停、銷毀等;用戶界面類是游戲的線程類,它不斷的循環(huán)檢測收到的各種消息,計(jì)算游戲狀態(tài),然后發(fā)出重繪事件要求屏幕重繪更新。游戲中所有可見的東西都是對象,它們是游戲中實(shí)際運(yùn)動的實(shí)體。游戲?qū)ο箢惗x該類能夠執(zhí)行的動作。當(dāng)指定事件發(fā)生時,游戲會根據(jù)運(yùn)行邏輯執(zhí)行相應(yīng)的動作。

3.2 基于J2ME手機(jī)游戲開發(fā)實(shí)例

本文開發(fā)了一個五子棋的游戲,有6個類組成,類的功能描述如下:

1) Class WzqMIDlet

WzqMIDlet類繼承自javax.microedition.midlet.MIDlet類,負(fù)責(zé)游戲生命周期管理和狀態(tài)轉(zhuǎn)換。MIDlet共有3中狀態(tài):startApp()活動狀態(tài)、pauseApp()暫停狀態(tài)和destroyApp()銷毀狀態(tài),WzqMIDlet狀態(tài)轉(zhuǎn)移圖如圖2所示。

運(yùn)行一個程序的時候,虛擬機(jī)會調(diào)用該MIDlet的構(gòu)造函數(shù)來生成MIDlet對象,然后被虛擬機(jī)置于暫停狀態(tài)。一旦虛擬機(jī)認(rèn)為這個MIDlet對象可以執(zhí)行時,就會調(diào)用startApp()方法,將此MIDlet置于活動狀態(tài)。

2) Class WzqChessBoard

WzqChessBoard類繼承自javax.microedition.lcdui.game.GameCanvas類,負(fù)責(zé)游戲的視圖,所有的游戲邏輯、用戶動作和圖像繪制都會在這里處理。下面列出此類當(dāng)中幾個關(guān)鍵的成員函數(shù)。

繪制棋盤上的網(wǎng)格

protected void paintMap(Graphics g)

{函數(shù)實(shí)現(xiàn)代碼;}

在當(dāng)前位置上繪制一個提示框

protected void paintSelectBox(Graphics g)

{函數(shù)實(shí)現(xiàn)代碼;}

繪制棋子

protected void paintChesses(Graphics g)

{函數(shù)實(shí)現(xiàn)代碼;}

繪制所有的屏幕內(nèi)容

protected void paint(Graphics g)

{函數(shù)實(shí)現(xiàn)代碼;}

GameCanvas類提供了基本的游戲用戶接口。除了從Canvas類繼承下來的命令、輸入事件等特性以外,它還提供了專門針對游戲的功能。GameCanvas擁有雙緩沖機(jī)制,從而避免諸如屏幕閃爍、畫面撕裂和抖動等問題。

3) Class Splash

Splash類繼承自javax.microedition.lcdui.game.GameCanvas類,負(fù)責(zé)繪制背景、繪制圖片、繪制文字等信息。。

4) Class Chesses

自定義Chesses類負(fù)責(zé)存儲五子棋的數(shù)據(jù)信息,下面是其定義的成員變量。

public final static int NO_CHESS = 0; //定義常量NO_CHESS,表示當(dāng)前位置沒有棋子

public final static int BLACK_CHESS = 1; //定義常量BLACK_CHESS,當(dāng)前位置為黑子

public final static int WHITE_CHESS = -1; //定義常量WHITE_CHESS,當(dāng)前位置為白子

public final static int BOARD_SIZE = 15; ////定義常量BOARD_SIZE,棋盤的大小

private short[][] chess; //棋子信息數(shù)組

private boolean bHumanPlayer; //當(dāng)前是人還是機(jī)器在下棋

private boolean bHumanFirst; // 是人先手還是機(jī)器先手

private boolean bGameOver; //游戲是否結(jié)束

private short nChessType; // 當(dāng)前的棋子的類型

private Vector messages = new Vector(); //消息隊(duì)列

5) Class AI

自定義Chesses類負(fù)責(zé)五子棋的人工智能部分,即找到最佳下棋點(diǎn)。基本思路是先計(jì)算每個點(diǎn)的權(quán)值,在權(quán)值最高的位置下棋。

6) Class Point

自定義Point類負(fù)責(zé)返回棋子的所在位置。

4 結(jié)束語

該文首先給出了J2ME的體系架構(gòu),對基于J2ME的手機(jī)游戲開發(fā)也進(jìn)行了論述,最后給出了一個基于J2ME的手機(jī)游戲開發(fā)實(shí)例--五子棋游戲,其運(yùn)行效果良好。

參考文獻(xiàn):

[1] 唐自仰,劉瑾,張克君.基于J2ME/Servlet的手機(jī)聊天系統(tǒng)[J].計(jì)算機(jī)工程,2009,35(10):262-266.

[2] 朱全銀,章慧,孫文杰.基于J2ME技術(shù)的手機(jī)網(wǎng)絡(luò)游戲研究與開發(fā)[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(32):76-78.

[3] 朱全銀,章慧.基于J2ME和J2EE的移動網(wǎng)絡(luò)游戲系統(tǒng)[J].計(jì)算機(jī)工程,2008,34(16):135-137.

[4] 丁月華,劉佳,楊沛.J2ME手機(jī)游戲開發(fā)平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2007,33(5):261-263.

[5] Krikke J.Samurai Romanesque,J2ME and the Battle for Mobile Cyberspace [J].Computer Graphics and Applications,2003,23(1):16.

[6] 王森.Java手機(jī)/PDA程序設(shè)計(jì)入門[M].北京:電子工業(yè)出版社,2004.

[7] 孔明放.J2ME程序設(shè)計(jì)教程[M].北京:科學(xué)出版社,2005.

主站蜘蛛池模板: 久久先锋资源| 国产精品国产三级国产专业不| 亚洲欧美日韩中文字幕一区二区三区| 婷婷午夜天| 91无码人妻精品一区二区蜜桃| 久久国产精品嫖妓| 日本精品αv中文字幕| 亚洲动漫h| 一区二区影院| 久久影院一区二区h| 日本不卡视频在线| 一级毛片无毒不卡直接观看 | 91av国产在线| 国产噜噜噜| 在线观看亚洲人成网站| 影音先锋亚洲无码| 国禁国产you女视频网站| 亚洲 欧美 偷自乱 图片| 国产一级毛片yw| 女人爽到高潮免费视频大全| 一本二本三本不卡无码| 日韩不卡免费视频| 久久精品丝袜| 91色国产在线| 亚洲天堂日本| 欧美日韩免费在线视频| 国产激情无码一区二区三区免费| 中字无码av在线电影| 最新无码专区超级碰碰碰| 国产成人区在线观看视频| 久久久久人妻一区精品色奶水| 国产三级精品三级在线观看| 色视频国产| 国产96在线 | 久久午夜夜伦鲁鲁片不卡| 久久国产精品波多野结衣| h网址在线观看| 欧美69视频在线| 黄色网站不卡无码| 亚洲色欲色欲www网| 男女性午夜福利网站| 日本三区视频| 国产第一色| 国产精品真实对白精彩久久| 97人人模人人爽人人喊小说| 国产精品深爱在线| 国产成人精品亚洲日本对白优播| 亚洲日韩欧美在线观看| 日韩AV无码一区| 天堂在线视频精品| 日韩精品成人网页视频在线| 国产欧美日韩精品综合在线| 伊人丁香五月天久久综合| 污网站在线观看视频| 色综合日本| 中文字幕2区| 嫩草在线视频| 欧美A级V片在线观看| 精品国产成人a在线观看| 亚洲人成网7777777国产| 114级毛片免费观看| 天天色天天综合| 亚洲国产成人久久77| 久久国产亚洲欧美日韩精品| jizz国产视频| 77777亚洲午夜久久多人| 本亚洲精品网站| 国产精品尹人在线观看| 香蕉伊思人视频| 国产精彩视频在线观看| 国产91丝袜在线播放动漫| 亚洲AV免费一区二区三区| 片在线无码观看| 欧美亚洲国产精品久久蜜芽| 日本免费高清一区| 欧美激情第一欧美在线| 欧美天天干| 国产原创演绎剧情有字幕的| 四虎永久在线视频| 91成人在线免费视频| 国产成人91精品免费网址在线| 91久草视频|