【正文】
r ( maxRandk+1 ) )//向右移K+1位,例:b=ai。//取0到1000的隨機(jī)數(shù),因?yàn)閙ax //例:int i = (9)。 imap_bg_x。 }/**把草地分在數(shù)組map[i][j]中**/public void rePlay( int level ) { map_bg_x = Height/16。amp。 ( eat:+eatfood, 2, 2, 0 )。 ( font )。//字體,X坐標(biāo),Y坐標(biāo),方位 /**繪制字體靠上***/ ( 0xf0FF00 )。 ( eat:+eatfood, 1, 2, 0 )。 if(=0) =0。//蛇的身體自動(dòng)減3 eatfood=3。 } gold[i].setPos()。//記錄當(dāng)前屏幕上吃食物的總數(shù) +=1。 } /**如果蛇與食物蘑菇發(fā)生碰撞 ***/ for( int i=0。 isPlay=false。 } /**繪制食物cat***/ for( int i=0。 j++ ) { (imgGameBg[ map_bg[i][j] ], j*map_bg_h, i*map_bg_w, |)。/***繪制背景***/ for( int i=0。 over=true。amp。 (sleeptimeduration)。 //獲取執(zhí)行完畢的事件 int duration=(int)(endstart)。 input()。 KEY_POUND) !=0) ()。 UP_PRESSED) != 0) (0)。 LEFT_PRESSED) != 0) (2)。 } else start()。 ()。 }/**裝載線程,預(yù)執(zhí)行**/ public void start() { /**開始由SingActive決定聲音的進(jìn)入與否**/ if(==true) ().loadResourse(soundmax)。 ()。 temp_bg1 = null。//用于創(chuàng)建一個(gè)繪制可變圖像的Graphics對(duì)像 if(bgmap/2100) (temp_bg1, i*16, 0, |)。 for( int i=0。//cat:名字,10:10張圖,21和16就是圖像的高寬的像素 }/**裝載背景圖**/ Image temp_bg1 = (/)。 i++ ) { gold[i]= new Gif(gold, 12, 16, 15 )。 (SNAKES_NUM)。 startTime = () 0。 sleeptime=Time_N。 SnakeGameSprite(SnakesMID midlet,int Snake_N,int Time_N) { super(true)。/**建立一個(gè)Gif類的圖像數(shù)組Gif**/ private Gif[] gold = new Gif[5]。 public int tempcontinue=0。 long startTime=0。 private final SnakesMID midlet。 private int win=32。 private int map_bg_w = 16。 public int eatfood = 0。 private int CanvasHeight = getHeight()。 private Snakes snakes。import 。該游戲的最大特色是屏幕自適應(yīng),無論各種手機(jī),PDA的屏幕大小如何,該游戲總是能獲得最佳的顯示效果。繪制一個(gè)矩形是一個(gè)類似的過程,不同的只是需要用起點(diǎn)加上寬度和高度的方式來指定這個(gè)對(duì)象。 private final int iRows = 320。//圖標(biāo)的寬度//當(dāng)用戶想暫停時(shí),再次按一下[啟動(dòng)]按鈕開始,游戲就暫停了,在暫停的情況下再按[開始]按鈕,游戲繼續(xù)運(yùn)行。在這個(gè)范圍內(nèi),玩家通過操作方向鍵來控制蛇的運(yùn)動(dòng)方向。保存在震動(dòng)文件中的清單文件是一個(gè)簡單的文本文件,包含屬性值。(2)MIDlet描敘文件的內(nèi)容(JAD)。 MIDP應(yīng)用程序 在MIDP上運(yùn)行的Java程序被稱為MIDlet。 (a)128KB非易失性內(nèi)存,供MIDP組件使用;(b)8KB的非易失性內(nèi)存,供應(yīng)用程序生成的永久數(shù)據(jù)使用;(c)32KB的易失性內(nèi)存,供Java堆使用。虛擬機(jī)安全層的目的是保護(hù)下面的設(shè)備不受任何執(zhí)行代碼可能引起的損害。 J2ME 體系結(jié)構(gòu)配置和簡表:配置定義了一個(gè)設(shè)計(jì)在一系列類似硬件上運(yùn)行的Java平臺(tái)的能力。而J2ME則是面向家電和通信工具等微小設(shè)備。(5)多線程 線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進(jìn)程,是比傳統(tǒng)進(jìn)程更小的可并發(fā)執(zhí)行的單位。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的不同主機(jī)上,操作分布是指把一個(gè)計(jì)算分散在不同主機(jī)上處理?! 。?)平臺(tái)無關(guān)性 Java是平臺(tái)無關(guān)的語言是指用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。對(duì)象之間通過消息相互作用。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform、JDT、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺(tái)。(2) Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。到本文寫作時(shí)為止可以獲取有四個(gè)版本,, , 。2 開發(fā)平臺(tái)與技術(shù)概述 操作系統(tǒng):Microsoft Windows XP 程序語言:Java 2 開發(fā)包:Sun Java(TM) Wireless Toolkit for CLDC IDE:Eclipse WTK、ECLIPSE與JAM的介紹(1) WTK 的全稱是Sun J2ME Wireless Toolkit —— Sun的無線開發(fā)工具包。準(zhǔn)確地說,J2ME是為了支持象PDA、手機(jī)等小型的嵌入式或移動(dòng)設(shè)備而推出的一系列的技術(shù)和規(guī)范的總稱。當(dāng)JAVA平臺(tái)發(fā)展到JAVA 2的版本以后,為了適應(yīng)不同級(jí)別計(jì)算機(jī)硬件的開發(fā)需要,JAVA平臺(tái)形成了三個(gè)主要分支:l Java 2, Standard Edition(J2SE):是為臺(tái)式機(jī)而設(shè)計(jì)的,主要運(yùn)行在Linux, Solaris, 或Microsoft Windows等操作系統(tǒng)上。而諾基亞做的一項(xiàng)研究發(fā)現(xiàn),玩家玩手機(jī)游戲的時(shí)間平均為 28 分鐘。智能手機(jī)包括以諾基亞和三星手機(jī)為代表的Symbian S60操作系統(tǒng),以摩托羅拉為代表的Linux操作系統(tǒng),以多普達(dá)、HTC(宏達(dá))為代表的Windows Mobile操作系統(tǒng),還有最近興起的基于Google操作系統(tǒng)Android的新上市的手機(jī)。其實(shí)這并不矛盾,因?yàn)檫@些就是在相關(guān)規(guī)范中制定的。J2ME是SUN公司針對(duì)嵌入式、消費(fèi)類電子產(chǎn)品推出的開發(fā)平臺(tái),與J2SE和J2EE共同組成Java技術(shù)的三個(gè)重要的分支。以J2ME為開發(fā)平臺(tái),利用Java提供的強(qiáng)大工具,不但可以在手機(jī)上實(shí)現(xiàn)靜態(tài)HTML技術(shù)所無法實(shí)現(xiàn)的計(jì)算處理、數(shù)據(jù)存儲(chǔ)、與服務(wù)器的通信等功能,而且能夠開發(fā)各種手機(jī)游戲。目錄緒論 41 課題總體介紹 4 課題背景 4 4 52 開發(fā)平臺(tái)與技術(shù)概述 5 ECLIPSE與JAM的介紹 5 63 J2ME及其體系結(jié)構(gòu)概述 7 J2ME簡介 7 J2ME 體系結(jié)構(gòu) 7 移動(dòng)信息設(shè)備簡表概述 7 MIDP的目標(biāo)硬件環(huán)境 7J2ME(Java 2 Micro Edition)是近年來隨著各種不同設(shè)備,尤其是移動(dòng)通信設(shè)備的飛速發(fā)展而誕生的一項(xiàng)新的開發(fā)技術(shù),它定位在消費(fèi)性電子產(chǎn)品的應(yīng)用上,對(duì)設(shè)備的智能化、多樣化,提供了革命性的解決方案。s life content, provide quick information plays an important role. J2ME (Java 2 Micro happen) is in recent years, with different equipment, especially the rapid development of mobile munications equipment and the birth of a new development of technology, it positioned in the consumer electronics applications, the intelligent, diversification of equipment, provides innovative solutions. For development platform, in J2ME using Java provide powerful tools, not only can cellphones realize static HTML technology can puting processing, data storage, the servers and munications, and other functions, but also can develop all kinds of mobile games. Based on the introduction of the J2ME and its system structure based on the snake game for example, describes the aid MIDlet class library development J2ME the whole process of mobile gaming.【key words】 : Mobile games Embedded development Permanent data MIDP application program緒論Java自從20世紀(jì)90年代早期誕生以來,以其強(qiáng)大的功能迅速為廣大程序員們所接受。因?yàn)槲覀冊陂_發(fā)中用到了很多例如CLDC(Connected Limited Devices Configuration)和MIDP(Mobile Information Devices Profile)等內(nèi)容。目前大部分手機(jī)分為智能手機(jī)(SmartPhone)和非智能手機(jī)。研究發(fā)現(xiàn),在700 名受訪對(duì)象中,60%的人會(huì)在家中玩手機(jī)游戲,而且其中 60%每天不止玩一次,每天的時(shí)間在 15 到 20 分鐘。在日本以及韓國,手機(jī)游戲已經(jīng)貢獻(xiàn)了大筆收;美國以及歐洲市場同樣很樂觀;而在南美洲以及其他國家和地區(qū),市場規(guī)模也在不斷擴(kuò)大。l Java 2, Micro Edition (J2ME):和J2SE不同,它既不算是一個(gè)軟件也不能算是一則規(guī)范。主要研究的對(duì)象是: ;、高級(jí)界面的開發(fā); ; 。該工具箱包含了完整的生成工具、實(shí)用程序以及設(shè)備仿真器。目前各大手機(jī)廠商往往把WTK經(jīng)過自身的簡化與改裝,推出適合自身產(chǎn)品,如SonyEricsson,Nokia