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

正文內(nèi)容

基于java的坦克大戰(zhàn)游戲開(kāi)發(fā)論文-免費(fèi)閱讀

  

【正文】 感謝父親在設(shè)計(jì)中對(duì)我的督促、鼓勵(lì)和母親為我創(chuàng)造的安靜環(huán)境,家人的支持永遠(yuǎn)是個(gè)人發(fā)展的基石。 南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 36 第五章 坦克大戰(zhàn)打炮彈功能系統(tǒng)測(cè)試 抬 CTRL 打炮彈的測(cè)試要點(diǎn) 測(cè)試要點(diǎn): 抬 CTRL 打炮彈 測(cè)試路徑:抬 CTRL 是否打炮彈 測(cè)試結(jié)果:打炮彈,游戲能實(shí)現(xiàn)打炮彈功能;不打炮彈,游戲不能實(shí)現(xiàn)打炮彈功能 坦克大戰(zhàn)系統(tǒng)采用的測(cè)試方法 白盒測(cè)試 功能測(cè)試用例 坦克打炮彈 表 51 坦克打炮彈 測(cè)試用例 編號(hào) 測(cè)試項(xiàng) 操作步驟 預(yù)期結(jié)果 輸入數(shù)據(jù) 實(shí)際結(jié)果 結(jié)果 比較說(shuō)明 001 坦克打炮彈 TankClient類,KeyReleased()方法上設(shè)置斷點(diǎn)后,用Debug 運(yùn)行程序,按 Ctrl 鍵 按 Ctrl鍵正常打一 發(fā) 炮彈 ;按Ctrl 鍵不大炮彈。 (c)。 return true。 () amp。 Missile m = new Missile(x, y, good, dir, )。 } 3)超級(jí)炮彈 處理按鍵 A。 if(this != t) { if( amp。 = w。 Missile m = new Missile(x, y, good, ptDir, )。 if(step == 0) { step = (12) + 3。 = good。 case LD: x = XSPEED。 break。 break。 = y。 } locateDirection()。 switch(key) { case : bL = true。 case : x += 5。 paint(gOffScreen)。 } } } } 南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 19 4)使用雙緩沖消除閃爍現(xiàn)象 原因 :刷心重畫頻率太快, paint 方法還沒(méi)有完成,逐條顯示。 (c)。 (false)。通過(guò)如下代碼實(shí)現(xiàn)。 該類中的變量如表 35 所示 表 35 Tank 類中成員變量表 成員變量描述 變量類型 名稱 坦克在 X 方向上的速度 int XSPEED 坦克在 Y 方向上的速度 int YSPEED 坦克的高度 int HEIGHT 該類中包括 collidesWithWall( ), Eat( )二個(gè)方法,其功能表如表 36 表 36 Tank 類中方法表 方法名 功能 備注 collidesWithWall(Wall w) 處理坦克和墻相撞的問(wèn)題 無(wú)備注 Eat(Blood b) 坦克吃血,增長(zhǎng)生命 無(wú)備注 墻模塊 該模塊由 文件實(shí)現(xiàn) ,添加兩堵墻, 處理坦克和墻相撞的問(wèn)題 。 表 31 Tankclient 類中成員變量表 成員變量描述 變量類型 名稱 整個(gè)游戲的寬度 int GAME_WIDTH 整個(gè)游戲的高度 int GAME_HEIGHT 該類中包 括 lauchFrame( ), paint( ), update( )三個(gè)方法,其功能表如表 32 表 32 Tankclient 類中方法表 方法 功能 備注 lauchFrame() 顯示坦克主窗口 無(wú)備注 paint(Graphics g) 重畫時(shí)調(diào)用 無(wú)備注 update(Graphics g) 使用雙緩沖消除閃爍現(xiàn)象 無(wú)備注 子彈模塊 該模塊由 文件實(shí)現(xiàn) ,實(shí)現(xiàn)子彈的各個(gè)功能,實(shí)現(xiàn)打坦克,實(shí)現(xiàn)子彈是否活著的功能。玩家坦克有生命數(shù),還有生命值,被敵人子彈擊中后生命值減少,生命值為0后坦克爆炸,開(kāi)始新坦克的操作按F 2。另外,子彈在運(yùn)行過(guò)程中也需要實(shí)時(shí)掃描是否碰撞到了相關(guān)障礙物或屏幕邊界。一個(gè)實(shí)時(shí)運(yùn)行的最終作品,每秒都會(huì)運(yùn)行成千上萬(wàn)行程序,繪圖事件、健盤事件都會(huì)以極高的頻率在后臺(tái)等待循環(huán)。 JDT 支持 Java 開(kāi)發(fā)、 CDT 支持 C開(kāi)發(fā)、 PDE 用來(lái)支持插件開(kāi)發(fā), Eclipse Platform 則是一個(gè)開(kāi)放的可擴(kuò)展 IDE,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái)。近期還有包括 Oracle 在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,并宣稱 Eclipse 將來(lái)能成為可進(jìn)行任何語(yǔ)言開(kāi)發(fā)的 IDE集大成者,使用者只需下載各種語(yǔ)言的插件即可。 Eclipse 是著 名的跨平臺(tái)的自由 集成開(kāi)發(fā)環(huán)境 ( IDE)。繪制動(dòng)畫時(shí)經(jīng)常需要不斷地更新畫面,而更新畫面的操作就是先將屏幕以 fillRect()的方式清除,再將下一 張圖片畫在屏幕上,然而反復(fù)的清除及重繪會(huì)造成屏幕的閃爍現(xiàn)象( flicker),因此南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 6 使用雙重緩沖的好處就是在背景進(jìn)行這個(gè)清除及重繪的操作,再將完成的繪圖拷貝到屏幕上,由于用戶看不到清除的操作,因此就不會(huì)出現(xiàn)閃爍的現(xiàn)象了。 12) 有關(guān)繪圖的一些技術(shù) Graphics 類提供了簡(jiǎn)單的 2D 繪圖功能。 Java 能了解由 Objective C 引用過(guò)來(lái)的接口概念。字節(jié)代碼轉(zhuǎn)換至機(jī)器碼的速度性能,幾乎和直接生成機(jī)器目標(biāo)代碼的 C 或 C++沒(méi)有什么兩樣。 8) 解釋執(zhí)行性 Java 解決器可以直接在任何已移植該解釋器的機(jī)器上解釋、執(zhí)行 Java 字節(jié)代碼。 Java 編譯器是通過(guò)生成與某一特定電腦結(jié)構(gòu)無(wú)關(guān)的字節(jié)代碼指令,以達(dá)到上述功能的。 Java 的目標(biāo)之一是要協(xié)助開(kāi)發(fā)能獨(dú)立地在小型機(jī)器上順利執(zhí)行的軟件。 Java 自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。 Java 提供了眾多的一般對(duì)象的類,通過(guò)繼承即可使用父類的方法。使用 Java 編寫的程序能在世界范圍內(nèi)共享。 JAVA 語(yǔ)言是當(dāng)今最為流行的程序設(shè)計(jì)語(yǔ)言之一,作為非常優(yōu)秀和極為健壯 的編程語(yǔ)言,它同時(shí)有的面向?qū)ο螅c平臺(tái)無(wú)關(guān),分布式應(yīng)用,安全,穩(wěn)定和多線程等優(yōu)良的特征,使用 JAVA 語(yǔ)言,不僅可以開(kāi)發(fā)出功能強(qiáng)大的大型應(yīng)用程序,而且 JAVA 語(yǔ)言本身突出的跨平臺(tái)的特性也使得它特別適合于Inter 上的應(yīng)用開(kāi)發(fā),可以這樣說(shuō), JAVA 的出現(xiàn)使得所開(kāi)發(fā)的應(yīng)用 程序“一次編寫,處處可用”的實(shí)現(xiàn)成為了可能 。游戲是在 環(huán)境下編程。 南 京 工 程 學(xué) 院 畢業(yè)設(shè)計(jì)說(shuō)明書 (論文 ) 作 者: 超人 學(xué) 號(hào): 1 院 系: 康尼學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 題 目: 基 于 java 的坦克大戰(zhàn)游戲開(kāi)發(fā) 指導(dǎo)者: 實(shí)驗(yàn)師 (姓 名 ) (專業(yè)技術(shù)職務(wù) ) 評(píng)閱者: 講師 (姓 名 ) (專業(yè)技術(shù)職務(wù) ) 2020 年 6 月 南 京 畢業(yè)設(shè)計(jì)說(shuō)明書(論文)中文摘要 J2SE 是近年來(lái)隨著各種不同技術(shù)的發(fā)展,尤其是編程語(yǔ)言飛速發(fā)展而誕生的一項(xiàng)新的開(kāi)發(fā)語(yǔ)言。它的主要功能有: 能夠四處移動(dòng)、能夠發(fā)射子彈打擊敵人、敵人能夠移動(dòng)、 能夠模擬爆炸、能夠產(chǎn)生障礙、能夠增長(zhǎng)生命 。 網(wǎng)絡(luò)化的市場(chǎng)讓游戲變成人和人的交戰(zhàn),而不是人和電腦的對(duì)戰(zhàn),這樣可以增加游戲的難度,游戲的時(shí)間和游戲的壽命。 Java 的數(shù)據(jù)類型與 機(jī)器無(wú)關(guān), Java 虛擬機(jī)( Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn) Java 二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺(tái)的接口的。在 Java 中,類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類。 Java 還實(shí)現(xiàn)了 真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開(kāi)發(fā) Java 應(yīng)用程序的周期。Java 的基本解釋器和對(duì)象類支持約占 40KB 空間,而若增加基本的標(biāo)準(zhǔn)程序庫(kù)和線程支持則需增加約 175KB。這些字節(jié)代碼指令能很容易在任何機(jī)器上解釋執(zhí)行。再者,由于其鏈接過(guò)程比較傾向于逐步增量與輕量過(guò)程,因此程序開(kāi)發(fā)更快、更精密。 10) 多線程性 Java 擁有一組復(fù)雜的同步化基本單元,它們是以廣泛使用的 監(jiān)視器與條件變量圖為基礎(chǔ)的。簡(jiǎn)單地說(shuō),接口就是規(guī)范一組與對(duì)象相對(duì)應(yīng)的成員函數(shù),但對(duì)象如何實(shí)現(xiàn)這些成員函數(shù)則亟待解決。它具有 24 位深度色彩的繪制能力,以三原色分別各占一個(gè)字節(jié)表示其顏色。不過(guò)在某些 MIDP 的實(shí)現(xiàn)上已經(jīng)加上了雙重緩沖的支持,因此在處理前應(yīng)先利用 Canvas 類的 isDoubleBuffer()方法來(lái)判斷。最初主要用來(lái) Java語(yǔ)言 開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比如 C++和Python 的開(kāi)發(fā)工具。 雖然大多數(shù)用戶很樂(lè)于將 Eclipse 當(dāng)作 Java IDE 來(lái)使用,但 Eclipse 的目標(biāo)不僅限于此。它提供建造塊和構(gòu)造并運(yùn)行集成 軟 件開(kāi)發(fā)工具 的基礎(chǔ)。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件各意外情考慮在設(shè)計(jì)中。如此過(guò)多的線程同時(shí)在本來(lái)效率就不高的機(jī)器上運(yùn)行,也許會(huì)導(dǎo)致程序的緩慢。地圖上有隨機(jī)出現(xiàn)的加生命值的血塊,吃恢復(fù)生命值滿,游戲的目的是操作自己的坦克消滅敵人坦克,消滅所有敵人坦克后游戲南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 9 結(jié)束。 該類中的變量如表 33 所示。該類中的變量如表 37 所示。 圖 41游戲窗口 import .*。 setVisible(true)。 南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 18 } 3)讓坦克動(dòng)起來(lái) 將位置改變?yōu)樽兞?, 啟動(dòng)線程不斷重畫 , 線程重畫更均勻,更能控制重畫的速度。 解決: 將所有東西畫在虛擬圖片上,一次性顯示出來(lái)。 (offScreenImage, 0, 0, null)。 break。 break。 } 子彈 與一輛敵人坦克 1)添加子彈類 添加 Missile 類 , 添加 x,y,dir 等屬性以及常量 .添加構(gòu)造方法 , draw 方法等必要方法 , 根據(jù)不同方向,進(jìn)行不同的運(yùn)動(dòng) , 在 TankClient 中模擬一顆子彈 注意:不一定一次寫到位 。 = dir。 case LU: x = XSPEED。 case R: x += XSPEED。 y += YSPEED。 } public Tank(int x, int y, boolean good, TankClient tc) { this(x, y, good)。 int rn = ()。 (m)。 = h。amp。 南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 32 圖 416 超級(jí)炮彈 private void superFire() { Direction[] dirs = ()。 (m)。amp。 } return false。 } } 2)最后的修正 敵人死光了重新加入 ; 我軍死掉了 F2 開(kāi)始 。 Ctrl 不符合按Ctrl 鍵 打炮彈 不符合 002 坦克打炮彈 TankClient類,KeyReleased()方法上設(shè)置斷點(diǎn)后,用Debug 運(yùn)行程序,按 Ctrl 鍵 按 Ctrl鍵正常打一 發(fā) 炮彈 ;按Ctrl 鍵不大炮彈。 本科學(xué)習(xí)中的各科老師對(duì)提高我的編程素質(zhì)有很大的幫助,我的同學(xué)在設(shè)計(jì)完成后對(duì)程序的測(cè)試,沒(méi)有他們,也許就難以發(fā)現(xiàn)一些潛在的錯(cuò)誤,在此一并表示感謝 ! 南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 41 附錄:英文技術(shù)資料翻譯 英文原文 Java ME ( Java 2 Micro Edition Java 2 ) is a part of it, and J2SE, J2EE and said. According to the definition of Sun: Java ME is a highly optimized Java runtime environment, primarily for consumer electronics devices, such as cellular phones and video telephony, digital settop boxes, car navigation systems and so on. JAVA ME JavaOne Developer
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1