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

正文內(nèi)容

基于java語言的坦克大戰(zhàn)-在線瀏覽

2025-07-10 19:37本頁面
  

【正文】 nstance field)。編譯器 必須挑選出調(diào)用哪個方法進行編譯。在 Java 中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。值得注意的是, 子類在重新定義父類已有的方法時,應保持與父類完全相同的方法頭 聲明 。 ( 10) class 類: object 類中的 getclass 方法返回 class 類型的一個實例,程序啟動 時包含在 main 方法的類會被加載, 虛擬機 要加載他需要的所有類,每一個加載的類都要加載它需要的類。如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。當保存文件的時候,你應該使用類名作為文件名保存(切記 Java 是大小寫敏感的),文件名的后綴為 .java。 ( 4) 主方法入口:所有的 Java 程序由 public static void main(String[]args)方法開始執(zhí)行 。 實現(xiàn)雙機通信的原理 這里是利用套接字 socket,以 TCP 協(xié)議為信息傳輸協(xié)議的雙機通信。應用程序通常通過 套接字 向網(wǎng)絡(luò)發(fā)出請求或者應答網(wǎng)絡(luò)請求。要學 Inter 上的 TCP/IP 網(wǎng)絡(luò)編程,必須理解 Socket 接口。如果了解 Unix 系統(tǒng)的輸入和輸出的話,就很容易了解 Socket 了。 Socket也具有一個類似于打開文件的函數(shù)調(diào)用 Socket(),該函數(shù)返回一個整型的Socket 描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^ 該 Socket 實現(xiàn)的。 WinSock 在 Windows98,Window NT 中使用。開發(fā)組件是供程序員在 windows 環(huán)境下開發(fā)網(wǎng)絡(luò)應用程序使用的,它包括應用程序接口庫函數(shù)、頭文件和實現(xiàn)的文檔,其中最主要的是 運行組件是以動態(tài)鏈接庫 (DlL)來實現(xiàn) socket 接口的。 實現(xiàn)雙機通信的步 驟 利用 Socket 通信的原理還是比較簡單的,實現(xiàn)它大致分為以下幾個步驟。 ( 2) 當檢測到來自客戶端的連接請求時,向客戶端發(fā)送收到連接請求的信息,并建立與客戶端之間的連接。 客戶端的步驟: ( 1) 建立客戶端的 Socket,確定要連接的服務(wù)器的主機名和端口。 ( 3) 連接成功后,與服務(wù)器進行數(shù)據(jù)的交互。 6 三、系統(tǒng)設(shè)計 坦克大戰(zhàn)實現(xiàn)的功能 本次實踐設(shè)計的是坦克大戰(zhàn),主要實現(xiàn)敵我兩軍對戰(zhàn)模式,除以下描述的主要具體功能外,還有一些細節(jié)處理,如坦克不能出界、坦克不能互相穿越、坦克與子彈碰撞發(fā)生爆炸后坦克便消失處理等等一系列小型問題,主要的具體要求總結(jié)如下: 坦克能夠四處移動 坦克可以打擊敵軍 敵軍能夠四處移動 敵軍能夠打擊我軍 打擊能夠模擬爆炸 場 景能夠產(chǎn)生障礙 我軍能夠增長生命 敵我兩軍能夠重生 我軍戰(zhàn)亡可計總分 雙機通信對戰(zhàn)敵軍 坦克大戰(zhàn)總體框架流程圖 總體框架流程圖 由于本次設(shè)計的重點在于敵我兩軍對戰(zhàn),下圖則表明從游戲開始到敵我兩軍對戰(zhàn),其中一方陣亡只至游戲結(jié)束的流程圖。下面將說明游戲操作及規(guī)則。 我軍坦克在人為操作下可實現(xiàn)八個方向的移動和發(fā)放子彈,上下左右鍵即上下左右移動,左上、左下、右上、右下方向分別是左上、左下、右上、右下鍵分別同時按來實現(xiàn)。 生命值的說明。敵軍可接收我軍一次攻擊。 復活說明 在我軍戰(zhàn)亡的時候,可按鍵 F2,我軍復活可繼續(xù)對戰(zhàn),計分重新開始;若敵軍開始界面的十輛戰(zhàn)亡后,再每次產(chǎn)生新的五輛繼續(xù)對戰(zhàn)。并在每一次我軍陣亡之后保存分數(shù),進行一個多次分數(shù)排名,排名只取前五名。 四、系統(tǒng)實現(xiàn) 實現(xiàn)條件 硬件條件: 裝 Microsoft Windows 7 的 PC 電腦 9 軟件條件: 版本 編程語言 : Java 語言 設(shè)計流程圖 本系統(tǒng)一共包括 8 個 Java 源文件,其中 TankClient 為主類,其中包括主方法,應用包括 Tank 類、 Blood 類、方向類、爆炸類、子彈類、墻體類以及PropertyMgr 類,如下功能結(jié)構(gòu)圖所示: 根據(jù)本 次設(shè)計的難易程度,我和我的搭檔將以上描述的幾個大類進行分工,在進行統(tǒng)合討論之后,油杜海霞負責 Tank 類、子彈類以及 PropertyMgr類的編寫,其余的由我負責,然后再一起統(tǒng)籌起來調(diào)試并修改。 主類 TankClient 系統(tǒng)說明 TankClient 是繼承 Java 中 frame 控件,這個系統(tǒng)文件中包括游戲窗口、界面中事件繪畫處理、背景圖片的更新、坦克主窗口的顯示,按鍵執(zhí)行以及主方法。 血液 Blood 類 這個類的主要功能是在界面五個規(guī)定地方顯示按一定軌跡運動的血液(能量),我軍坦克在吃掉血液之后可以將血液恢復至 100,即增加血液。下面是該算法流程圖: 方向 Direction 類 這是本次設(shè)計中最簡單的一個類,其中定義了上、下、左、右以及左上、左下、右上、右下八個方向,方便在其他類里面的應用,代碼如下: package 。這里主要是調(diào)用了系統(tǒng)文件 images 里的爆炸圖片,利用多張不同的爆炸圖 片來實現(xiàn)動態(tài)爆炸,在爆炸發(fā)生前一刻將游戲界面中所被我軍子彈接觸的敵軍坦克移除,這樣就實現(xiàn)了消滅敵人的能力,而我軍被敵軍子彈接觸的時候也產(chǎn)生爆炸,這時不移除我軍坦克,但我軍坦克頭上的血液要對應減少,直至減完便移除我軍坦克。墻體的構(gòu)建非常簡單,在該游戲的改進計劃中,我們將把墻體改進成圖片版,并創(chuàng)建子彈能夠擊破的墻體類,將界面美觀化,提升游戲美感 . 墻的主要作用在 TankClient 主類文件中有具體實施,要求子彈和敵方坦克都不能穿過,只能我軍坦克穿過,所以在設(shè)計的過程中,墻和其他事物的接觸或者碰撞檢測非常重要,也是核心部分。由于代碼量較多,這里只給出主類的部分代碼,包括主方法、以及其他的類的實現(xiàn)。 界面墻體與坦克初始位置重合的問 題 下面這段代碼包括生成游戲主要框和墻以及我軍坦克產(chǎn)生的初始位置。遇到的問題就是生成墻之后,在我軍坦克的初始位置定下來后沒有坦克出現(xiàn),后來才反應過來是坦克初始位置和墻體重合了,于是把坐標經(jīng)過再三改正便避免了這個問題。 public static final int GAME_HEIGHT = 700。 在定義 //定義我軍坦克初始位置 Tank myTank = new Tank(350, 350, true, , this)。 ListExplode explodes = new ArrayListExplode()。 ListTank tanks = new ArrayListTank()。 Blood b = new Blood()。在這段代碼中遇到的問題就是不會調(diào)用 PropertyMgr 類來實現(xiàn)重生,因為那個累我和我的搭檔是從別人處借鑒來的,于是都看不懂,最后調(diào)用也是在網(wǎng)上學習別人是怎么調(diào)用的才得以解決重生問題。 (scores: + score , 10 , 40) 。 //(explodes count: + (), 10, 70)。 //敵軍坦克數(shù)量 (myTank life: + (), 10, 60)。i((reProduceTankCount))。 }} //解決子彈的消亡問題 for(int i=0。 i++) { Missile m = (i)。 (myTank)。 (w2)。 (w4)。 } //得到爆炸,畫爆炸 for(int i=0。 i++) { Explode e = (i)。 } //坦克與墻、坦克之間的碰撞檢測 for(int i=0。 i++) { Tank t = (i)。 (w2)。 14 (w4)。 (myTank)。 } //畫坦克、墻、血塊 (g)。 (g)。 (g)。 (g)。還有就是在退出游戲室彈出的提示框的制作。 /** * 本方法顯示坦克主窗口 * */ public void lauchFrame() { //敵軍坦克初始位置 int initTankCount = ((initTankCount))。 iinitTankCount/2。 } for(int j=0。j++) { (new Tank(100*(j+1), 600, false, , this))。 (不入虎口焉得虎子 )。 (0) 。 (false)。 (new KeyMonitor())。 new Thread(new PaintThread()).start()。 ()。 private class KeyMonitor extends KeyAdapter { public void keyReleased(KeyEvent e) { (e)。} }} 運行結(jié)果及分析 當功能一步步實現(xiàn)完成的時候調(diào)試成功的成果如下: 開始時,敵軍在上墻和下墻周圍各生成 4 臺坦克,隨機運動,開發(fā)子彈。 16 在敵軍第一批坦克戰(zhàn)亡之后自動在上墻周圍產(chǎn)生五臺新坦克繼續(xù)作戰(zhàn),直至我軍戰(zhàn)亡,下圖為敵軍新產(chǎn)生五臺坦克。 17 五、設(shè)計心得 這次通信實踐我和 我的搭檔杜海霞一起用 Java 語言編寫了一個較為簡單的坦克大戰(zhàn),實現(xiàn)了 坦克能夠四處移動、坦克可以打擊敵軍、敵軍能夠四處移動、敵軍能夠打擊我軍、打擊能夠模擬爆炸、 場景能夠產(chǎn)生障礙、我軍能夠增長生命、敵我兩軍能夠重生等功能,基本完成了我們的預期要求,其中實現(xiàn)雙機或則多機通信對戰(zhàn)模塊沒有像預計那樣完成,但在接下來的時間里,我們會繼續(xù)完善我們的坦克游戲,實現(xiàn)預想的效果或則更加高級的效果。 Java語言現(xiàn)在也算是較為火熱的一門編程語言,這次實踐為我開辟了一條新的語言道路。 這次實踐過程中我很感謝我的搭檔,我們經(jīng)常一起討論一起學習,一起討論不懂的問題,我們在學習和討論的途中編寫了幾次大概流程,以及類似子彈碰撞、按鍵處理的問題解決辦法,期間她還給我講解了很多知識,體現(xiàn)了我們團結(jié)協(xié)作的精神。結(jié)果我們并沒有將事先定好的要求完全實現(xiàn),我們實現(xiàn)了 坦克能夠四處移動、坦克可以打擊敵軍、敵軍能夠四處移動、敵軍能夠打擊我軍、打擊能夠模擬爆炸、 場景能夠產(chǎn)生障礙、我軍能夠增長生命、敵我兩軍能夠重生等功能,對于我們來說,也是比較滿意的。板塊的劃分又是通過類別來劃分的, 本系統(tǒng)一共 包括 8 個 Java 源文件,其中 TankClient 為主類,其中包括主方法,應用包括 Tank 類、 Blood 類、方向類、爆炸類、子彈類、墻體類以及 PropertyMgr類,我主要負責的類別有 Blood 類、方向類、爆炸類、墻體類以及主方法的那個類,其他的有我的搭檔負責,當然在主要類的編寫時我的搭檔也幫助了我很多,是我學習到了很多自己一個人不明白的知識。 其實在豐富界面的同時就可以大幅度提升游戲的功能與美感。針對登陸界面以及選擇人物的功能呢個,只能利用編程多畫幾個框,每個框中添加模擬按鍵和調(diào)用人物圖片,當然這里說的人物是指坦克。 七、參考文獻 [1] 常建功 等編著,零基礎(chǔ)學 Java(第 3 版) [M]. 機械工業(yè)出版社, 2021 年 . [2] 張桂珠 劉麗 陳愛國著, Java 面向?qū)ο蟪绦蛟O(shè)計(第 2 版) [M]. 北京郵 19 電大學出版社 . [3] 畢廣吉 著, Java 程序設(shè)計實例教程 [M]. 北京:冶金工業(yè)出版社, 2021年 . [4] 王保 著, Java 面向?qū)ο蟪绦蛟O(shè)計 [M].北京:清華大學出版社, 2021年 . [5] 國家 863 中部軟件孵化器 編, :Java 從入門到精通 [M]. 人民郵電出版社 ,2021年 . [6] (美) ??藸?著 陳昊鵬譯 ,Java 編程思想 [M].機械工業(yè)出版社, 2021 年 . [7] 孫更新著, Android 從入門到精通 [M].電子工業(yè)出版社, 2021 年 . [8] 馬士兵著, Java教程視頻, 2021 年 . 20 **本科畢業(yè)設(shè)計(論文)管理暫行規(guī)定 畢業(yè)設(shè)計(論文)是本科人才培養(yǎng)的重要實踐性教學環(huán)節(jié),也是學士學位評定的重要依據(jù)。 一、 畢業(yè)設(shè)計(論文)的 主要目的 (一) 培養(yǎng)學生運用所學知識獨立地分析和解決 本專業(yè)范圍內(nèi)一般 問題的能力,培養(yǎng)學生的創(chuàng)新意識和實踐能力,使學生 從
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1