freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me的java游戲坦克大戰(zhàn)的開發(fā)畢業(yè)設計畢業(yè)設計論文(留存版)

2025-08-02 14:48上一頁面

下一頁面
  

【正文】 實時掃描是否碰撞到了相關障礙物或屏幕邊界。以上相關技術細節(jié)和整體流程將分別在以下小節(jié)闡述。TankMain類是繼承自MIDlet的控制主程序啟動的首先被載入系統(tǒng)的部分。 Graphics類Graphics類提供了簡單的2D繪圖功能。LM存儲了一個層的列表,新的層可以用append函數(shù)附加、刪除和插入。默認是(0,0)點,如果需要,可將參考點設置在畫面邊界之外。這樣的技術在繪制動畫時特別有用。然而不能僅僅將用戶坦克作為其Sprite參數(shù)傳遞給敵人的類進行判斷。子彈所需要完成的任務有:它是一個繼承了Runnable虛類的可運行單獨線程的對象。在一個MIDlet suite包里的所有MIDlet都允許創(chuàng)建多個記錄集,只要它們賦有不同的名稱。2.利用輸入/輸出流這一種方法較上一種復雜,但是較為實用。第二是減少復雜的程序結(jié)構(gòu),為一些共同的行為建立一個抽象類(Abstract Class) 來表示繼承的子類的共通性。 包括內(nèi)存狀況的檢測(手機上的內(nèi)存空間十分有限,必須時刻關注機載內(nèi)存是否大于程序所能使用到的最大可能的內(nèi)存空間),網(wǎng)絡狀況的檢測,運行函數(shù)的跟蹤等。在顯示高級用戶界面前,建造了一個Alert類。刷新速度需大于30/秒才能使畫面顯示因人眼的暫時停留效應流暢運行。用二維循環(huán)將讀出的每個整數(shù),通過setCell()將整幅地圖畫出即可。圖45 游戲結(jié)束的畫面如果游戲未結(jié)束,則需判斷屏上坦克是否已小于還剩坦克的總數(shù),如果是這樣,就需要再提供一輛坦克。在允許敵人出現(xiàn)前,需要檢測給即將出現(xiàn)的敵人分配一個數(shù)組序號。需要聯(lián)系的還有自身坦克、地圖。collidesEnenmy檢測是否前方有坦克阻礙行動。Random random=new Random(())。此函數(shù)用來檢測是否在剛出現(xiàn)時就與其他坦克發(fā)生碰撞的。其主要功能流程圖見圖49。如果程序在子彈已經(jīng)到達X軸的155坐標時仍允許子彈繼續(xù)運行,子彈將一次性向右運行2個象素,到達157點。如果不放置到屏外,敵人坦克仍會被阻擋,子彈仍會再次擊中用戶坦克。(i+1,record,0,)將把已讀出的當前位置的記錄寫入到下一條中,當發(fā)現(xiàn)移動完畢后當前序號即為所需要插入的位置時,(name), (score),(i,record,0,),將記錄寫入。當用戶的分數(shù)達到一定的高度可以寫進記錄時,將調(diào)用inputName=new Form(Congratulations)創(chuàng)建一個新的Form類的屏幕,其中包括一個TextField,允許用戶輸入自己的姓名,這樣使用getString就可以將輸入讀出,寫入到記錄中。 2. 有時會莫名其妙的死機。很多相關的技術,如需要使用到的線程、RMS數(shù)據(jù)庫、Game包的新功能、高級、低級圖形界面的使用、時鐘的控制、貼圖,每一項都需要花一定的時間去掌握和熟悉。本程序打包后體積23K,運行時如進行gc()內(nèi)存回收可將運行時堆內(nèi)存控制在50K以內(nèi),大小與目前大部分手機的100K左右的可使用內(nèi)存和500K左右的存儲空間。本畢業(yè)設計建立在Java平臺上,是本人以前未曾接觸過的領域。即使刷屏沒有間隔也不會提高速度。如果需要進入下一關,則進入本關統(tǒng)計分數(shù)的顯示。getScore()函數(shù)得到所需要序號的分數(shù)。 如果是來自敵人的子彈,將同樣檢測與玩家子彈的碰撞,及與玩家坦克的碰撞如有碰撞,玩家生命數(shù)減少一位,位置重置。amp。如果是,就不應該受到其他坦克的影響而直接改變坐標,但若不是,就應當遠地不動。if(i==number)break 。因此,它可以運行在單獨的線程中。在go()函數(shù),每個方向在走前都須用if (canPass(UP)amp。在得到障礙物屬性后,判斷其序號是否與草相同,或是否為空(序號為0)。圖47 游戲運行中的模擬器畫面在繪圖的render()過程中,除了要重繪坦克、地圖、子彈外,還會在右邊空白處繪出一個生命統(tǒng)計欄。當敵人坦克完全死亡時(enemyNum為0),需調(diào)用System類的currentTimeMillis()賦值給結(jié)果的時間。地圖由外部文件讀入。getSelectIndex()可檢測到選擇的項目的序號,序號從0開始遞增。圖42 程序開始時的logo畫面進入時,首先載入畫面的不是游戲運行狀態(tài),而是提供選項,當再次選擇Start Game時才正式運行。混淆后,體積大約能減少25%,這對當前費用較貴的無線網(wǎng)絡傳輸是有一定意義的。在這樣的情況下需要在不影響原有功能的情況下適當?shù)目s減JAR文件的大小,除了可以克服內(nèi)存空間的限制外,也能大幅度縮短下載的時間(費用也降低了),勢必會有更多的人愿意下載所開發(fā)的程序。然而讀取或?qū)懭氲淖止?jié)數(shù)組都只能代表一個字段的信息,如果需要讀取或?qū)懭攵鄠€字段就必須要將數(shù)據(jù)轉(zhuǎn)換成字節(jié)信息,并且提供適當?shù)臋C制來分隔這些信息。很顯然,手機上的數(shù)據(jù)庫系統(tǒng)不可能有PC上的強大功能。坦克之間由以上道理也不會發(fā)生重疊,但當某坦克正從上方生成而正巧有另一輛阻礙在其生成點處,這將導致不可避免的重合。這保證了快速的按鍵和釋放也會被循環(huán)所捕捉。J2ME中并沒有J2SE中的File類,獲取外部文件的手段很有限,僅僅在Class類中提供了一個getResourceAsStream函數(shù),將外部文件獲取為輸入流,再由InputStream的繼承類讀出。本程序中的雙方坦克、子彈都由Sprite繼承得到。 Game包中的新功能 ,為游戲的開發(fā)帶來了極大的便利。Canvas提供了鍵盤事件、指點桿事件(如果設備支持),并定義了允許將鍵盤按鍵映射為游戲控制鍵的函數(shù)。在屏幕重繪的主程序中,將在每次的循環(huán)中判斷若干事件。手機中由于處理器和內(nèi)存空間、存儲空間都十分有限,其數(shù)據(jù)庫系統(tǒng)與普通PC大相徑庭。敵人坦克的運行算法也需要進行適當?shù)脑O置,以免游戲過于簡單,單調(diào)。由于Java技術的發(fā)展迅速,經(jīng)常有新的組件推出或新的錯誤修正,致使JBuilder的版本升級很快。其游戲界面如圖13所示。豐富的社會交互: 不管一個游戲設計得多好,只要玩家找到了它的根本模式或者玩完了所有的游戲路徑很快就會厭煩這個游戲。因為他們所面向的對象、生活方式和分布式模型都有著極大的區(qū)別。它有一些非常重要的特征對所有組織都有益。目 錄摘 要 I Abstract I 引  言 2 第一章  緒 論 3 手機軟件現(xiàn)狀 3 游戲業(yè)務及J2ME概況 3 任天堂(Nintendo)的8位FC機器和Battle City背景介紹 5 本章小結(jié) 5 第二章 開發(fā)環(huán)境及相關技術的介紹 6 開發(fā)環(huán)境 6 Java語言的特點 6 關于JBuilder9 6 關于Wireless Tool Kit 7 Java Appication Manager 7 本章小結(jié) 7 第三章 程序結(jié)構(gòu)、思想和相關技術 8 本程序需解決的有關技術問題 8 程序流程 9 11 提供低級繪制的Canvas類 11 Graphics類 11 PNG格式 11 Game包中的新功能 12 有關繪圖的一些技術 13 坦克的控制和敵方的智能運行 13 子彈的運行和控制 14 RMS數(shù)據(jù)庫系統(tǒng) 15 內(nèi)存使用的最佳化 16 混淆器(Obfuscator)的使用 17 模擬器的相關調(diào)試 17 本章小結(jié) 18 第四章 程序分析和具體實現(xiàn) 19 游戲進入前的選擇 19 主游戲邏輯及其涉及到的若干類 20 坦克的共同行為 22 玩家坦克的功能屬性 23 敵人坦克的功能屬性 23 子彈的運行和控制 25 記分系統(tǒng) 26 本章小結(jié) 28 第五章 總 結(jié) 29 本程序的總結(jié)和展望 29 經(jīng)驗和感想 29 致 謝 31 參考文獻 32 第一章  緒 論 手機軟件現(xiàn)狀   在信息社會中,手機及其他無線設備越來越多的走進普通百姓的工作和生活,隨著信息網(wǎng)絡化的不斷進展,手機及其他無線設備上網(wǎng)絡勢在必行。本論文著眼于J2ME技術的應用,開發(fā)一款可商用的手機游戲程序——坦克大戰(zhàn)。繼短信、彩信等服務之后,中國移動提供基于Java的百寶箱業(yè)務,應用產(chǎn)品遍及商務應用、信息獲取、英漢互譯、游戲娛樂等多媒體領域。這個版本針對資源有限的電子消費產(chǎn)品的需求精簡核心類庫,并提供了模塊化的架構(gòu)讓不同類型產(chǎn)品能夠隨時增加支持的能力。由于他們的創(chuàng)新天性,游戲不再是由大型采購公司控制的技術產(chǎn)品——游戲領域總是有充足的空間給那些在這方面有天分的單個創(chuàng)新者。所以一個好的手機游戲應該提供短時間的娛樂功能,并且允許用戶在游戲和工作模式之間順利切換。 任天堂(Nintendo)的8位FC機器和Battle City背景介紹圖13 Battle City的界面  FC(Family Computer)主機在歐美又稱Nintendo Entertainment System(可譯作任天堂娛樂平臺即NES)。4. 分布式Java建立在TCP/IP網(wǎng)絡平臺上,提供了用HTTP和FTP協(xié)議傳送和接收信息的庫函數(shù),使用其相關技術可以十分方便的構(gòu)建分布式應用系統(tǒng)。存儲媒體手機內(nèi)建瀏覽器JavaAppicationManagerKVM描述檔圖示檔JAR檔Java ServletHTML網(wǎng)頁6.安裝應用程序8.載入并執(zhí)行應用程序使用者手機網(wǎng)站網(wǎng)絡1.瀏覽網(wǎng)頁圖21 JAM工作流程圖 本章小結(jié):第二章介紹了Java語言的特點、本程序的開發(fā)環(huán)境及其相關工具的原理和使用。良好的用戶界面更是吸引用戶的硬指標,相關的美術構(gòu)圖也需要有一定的考慮。這三種狀態(tài)的轉(zhuǎn)換關系如圖所示:本程序采用面向?qū)ο蟮脑O計模式,對游戲中的所有物體賦予對象的概念和屬性。圖33 與主程序相關的類的UML視圖圖33是程序中類之間的UML分析圖。PNG格式提供透明背景的圖象,這對繪制游戲畫面和被操縱主角極有幫助。本程序中所有的地圖、坦克都采用LM控制,敵方坦克的生成由附加一個EnemySprite對象得到。這項技術通常應用在2D游戲平臺的滾動背景的繪圖。這樣的機制并不適合某些游戲場合。如果發(fā)生碰撞,則坦克應當選擇掉轉(zhuǎn)方向,此時,兩輛碰撞的坦克又因為其矩形區(qū)域不重合而不符合collidesWith的條件,就可以繼續(xù)正常運行了。其次,子彈之間需要檢測是否碰撞。RecordStore的API采用了時間戳的概念,其長整型變量由System的currentTimeMillis()函數(shù)返回決定。一共可以存儲10條最高分。從而不能保護作者的知識成果。圖34 內(nèi)存監(jiān)視器 本章小結(jié): 第三章中介紹了程序的流程、相關技術的思想及其在本程序中的應用。效果如圖42所示。這兩個類均在BattleCanvas中建立了對象,以便進行統(tǒng)一調(diào)度。為此,地圖必須首先載入。閃光位置設置了三處坐標,由于敵人不能同時出現(xiàn),便設置了enemyOutDelay的倒數(shù)計時,每次屏幕刷新會減少一次計數(shù),直到為0時就準備一輛坦克。在transformDirection[]中定義了坦克四個方向分別應將原始圖片旋轉(zhuǎn)的角度,分別為TRANS_NONE,TRANS_ROT90,TRANS_ROT180,TRANS_ROT270,以便在后來的setTransform()中將這些常量代入。子彈一旦開始運行,就脫離了當前坦克的控制,直到其生命周期終止。事實上,敵人坦克此時并沒有阻礙玩家前進。 return ((())%4)*50。如果剛出現(xiàn),就直接走一步,具體如何行走將在go()函數(shù)中決定,并且此go()與UserSprite中的有所區(qū)別。擊中鋼筋時,將只產(chǎn)生爆炸效果。如果為真,就繼續(xù)檢測碰撞上了什么樣的物體。采用的是手機專用的一種簡化的數(shù)據(jù)庫RMS。由于ScoreScreen類繼承了Canvas,所以必須有paint()函數(shù)。但幾乎每一個計算機程序都會有這樣那樣的不足,尤其是未經(jīng)過精心維護的非商業(yè)軟件。在數(shù)據(jù)庫、單片機、各種應用軟件和游戲中,我仍覺得對游戲的設計有極大的熱情。為了進一步探索深層次的技巧,我花費了大量時間在sun的Java主頁上,閱讀了幾十篇英文的技巧和代碼樣例。我原以為這樣的速度將無法完成畢業(yè)設計,但當掌握了大部分應用技巧時,剩下的游戲思路的設計就顯得不是最大的障礙了。大學期間做過銀行取款機、圖書館管理程序等簡單的數(shù)據(jù)庫管理系統(tǒng)的課程設計,思想大致相似,變化范圍有限,沒有太多自己可發(fā)揮的余地。本游戲程序?qū)τ诔跎娲祟I域的畢業(yè)設計課題來說,尤其在開始初期,感覺邏輯復雜,難以控制,因此至今還有一些未能解決的bug。時間將根據(jù)BattleCanvas中的beginTime的差除以1000后取整決定。(score,true)創(chuàng)建一個名為“score”的數(shù)據(jù)庫。如果擊中了某樣物體,那么checkHit自然會處理,子彈的生命周期結(jié)束,以break退出循環(huán)。 在線程的循環(huán)中while ( (x 155) amp。發(fā)炮后應立即重新賦值給隨機發(fā)炮數(shù),以便重新倒數(shù)計算。這樣就相當于允許在某一個方向運行0~3秒鐘的時間。當然,在設置完成后,必須將將檢測區(qū)域設置回原先的狀態(tài),否則敵人在往后自己的檢測中將發(fā)生錯誤。在玩家坦克發(fā)射的子彈中,就必須將攻擊對象設置為所有的敵人。為了能提前預測碰撞,調(diào)用了defineCollisionRectangle(0,1,11,12)將碰撞矩形向前設置了一個象素,具體原理見第二章。如果玩家
點擊復制文檔內(nèi)容
范文總結(jié)相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1