使用Java進(jìn)行坦克大戰(zhàn)游戲軟件程序設(shè)計的資料合集免費(fèi)下載
資料介紹
隨著網(wǎng)絡(luò)時代的到來及發(fā)展,游戲產(chǎn)業(yè)方興未艾,出現(xiàn)了前所未有的繁榮?!柏澇陨摺?、“俄羅斯方塊”這些簡單的游戲曾為一代接一代的游戲玩家所熟悉。并且隨著網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展,更加有趣、更為生動的游戲?qū)映霾桓F。由于Java技術(shù)的不斷發(fā)展,Java良好的跨平臺特性在移動平臺的開發(fā)中顯示出了巨大的威力。Java語言面向?qū)ο蟮膬?yōu)勢也使得開發(fā)游戲變得非常容易,同時eclipse平臺的優(yōu)越性也給了這類游戲程序的設(shè)計帶來了很多的優(yōu)點(diǎn)和方便。本論文主要介紹了坦克大戰(zhàn)游戲的設(shè)計思路和實現(xiàn)過程。這種設(shè)計主要是利用函數(shù)對背景的所有物體進(jìn)行繪圖,然后利用線程以及***監(jiān)聽機(jī)制對物體進(jìn)行控制,例如坦克,從而實現(xiàn)各種功能,最后就可以構(gòu)成一個活生生的坦克大戰(zhàn)游戲了。
Java功能在移動設(shè)備上的實現(xiàn),Java應(yīng)用程序產(chǎn)生的服務(wù)逐漸體現(xiàn)出其影響力,對豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。本論文著眼于java語言的優(yōu)點(diǎn),開發(fā)一款可可供娛樂的游戲程序——坦克大戰(zhàn)。
1. 坦克大戰(zhàn)是一個可大可小的游戲,想法靈活可以編寫出很多功能,所以需要對程序的要求量應(yīng)該是巨大的,但是其代碼利用率很高,因此實際編寫時也不需要太多的絞盡腦汁,可以利用各模塊程序的相近性靈活運(yùn)用。一個實時運(yùn)行的最終作品,每秒都會運(yùn)行成千上萬行程序,繪圖***、鍵盤***都會以極高的頻率在后臺等待響應(yīng),若有絲毫的差別都將很容易導(dǎo)致程序在運(yùn)行不久后可能出現(xiàn)嚴(yán)重錯誤,甚至死循環(huán)。因此,其邏輯設(shè)計應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的***及意外情況考慮在設(shè)計中。
2. 游戲中為了美觀,適用性強(qiáng)以及操作的簡便性,我們主要利用draw函數(shù)畫出矩形,圓及線構(gòu)成一輛***,同時畫出子彈,敵方坦克可以直接引用之前畫出的坦克,這樣畫圖的問題就基本解決了。
3. 己方坦克的運(yùn)行可以通過鍵盤響應(yīng)***控制,但敵方則因為是自動運(yùn)行,就需要有一定其一定的智能性;同時,出現(xiàn)在屏幕上的敵方可能會有較多的數(shù)量,這需要為每個敵方開辟一個線程以便能讓其獨(dú)立運(yùn)行。Java的多線程能力為實現(xiàn)這樣的游戲提供了可能。敵人坦克的運(yùn)行算法也需要進(jìn)行適當(dāng)?shù)脑O(shè)置,以免游戲過于簡單,單調(diào)。
4. 對于雙方坦克發(fā)出的子彈的控制也需要對其跟蹤控制,子彈也需要處在獨(dú)立的線程中。敵方子彈僅需要掃描用戶坦克,而用戶坦克需要在每一步掃描所有的敵方坦克。這需要對所有的對象有較好的控制。另外,子彈在運(yùn)行過程中也需要實時掃描是否碰撞到了相關(guān)障礙物或屏幕邊界。同時為了游戲的公平性,己方坦克發(fā)出的子彈數(shù)量必須控制,不能一下發(fā)出太多顆。
5. 對于敵我雙方的坦克在運(yùn)動的過程中也需要考慮會不會發(fā)生碰撞也就是重疊狀況體,也要考慮坦克碰到邊緣時不能繼續(xù)前進(jìn),以免跑出有效范圍,每前進(jìn)一步都需要將所有的周圍環(huán)境進(jìn)行嚴(yán)格的控制。
6. 游戲的結(jié)束、開始、動態(tài)畫面等信息是構(gòu)成一個完美程序必不可少的環(huán)節(jié)。良好的用戶界面更是吸引用戶的硬實力,為此必須要加入坦克爆炸的效果圖以及游戲進(jìn)行時的音效。
7. 用戶運(yùn)行游戲時需要有分?jǐn)?shù)記錄的可能。如何采用合理的記分標(biāo)準(zhǔn),需要進(jìn)行適當(dāng)?shù)脑O(shè)計。記錄分?jǐn)?shù)的存儲方式也需要有較好的解決方案,可以利用IO流編程來實現(xiàn)將數(shù)據(jù)存入電腦硬盤中的某個文件中。
本程序采用面向?qū)ο蟮脑O(shè)計模式,對游戲中的所有物體賦予對象的概念和屬性。運(yùn)行程序后允許用戶選擇執(zhí)行選項菜單,在開始游戲后將先對背景的所有物體進(jìn)行繪圖。在主程序運(yùn)行的線程中,畫面刷新將以一定的頻率采用雙緩沖技術(shù)對屏幕重繪,實時反映整個游戲的進(jìn)行狀態(tài)。用戶控制的坦克運(yùn)行在主線程中,敵方坦克將在游戲開始時逐漸新增線程,每增加一個敵方坦克對象就新增加一條線程,一旦線程數(shù)滿到最大值(本程序暫設(shè)置為20),就不允許敵人再繼續(xù)出現(xiàn)。用戶坦克自誕生之時起將擁有5發(fā)子彈的權(quán)利,子彈雖然開在單獨(dú)的線程中,但運(yùn)行結(jié)束后(比如撞到相關(guān)物體或敵方坦克時)并不結(jié)束子彈對象,只是將其線程終止。用戶再次發(fā)射子彈時只是將終止的線程再次激活。在屏幕重繪的主程序中,將在每次的循環(huán)中判斷若干***。如:用戶坦克的生命是否為0,敵方坦克數(shù)是否已經(jīng)為零,屏幕上的坦克數(shù)量是否少于仍剩下的坦克數(shù)量等。以便程序進(jìn)入相關(guān)的分支執(zhí)行相關(guān)的反應(yīng)代碼,結(jié)束游戲或統(tǒng)計分?jǐn)?shù)等。主程序流程如圖所示:
Java界曾流行這樣一句話:不懂線程就不要說自己會Java,可見線程對Java的重要性是多么的大。那么線程的作用有哪些呢,最為典型的就是你在網(wǎng)絡(luò)上放一個服務(wù)端,一個客戶端訪問時,就會新建一個線程處理這個客戶端的事務(wù),這樣的話只要不斷新建線程就可以處理多個用戶的請求了。當(dāng)然我們的這個坦克大戰(zhàn)游戲的實現(xiàn)肯定離不開線程,例如己方坦克是必須要會移動的,那么敵人坦克也要移動,子彈呢?當(dāng)然也要會移動,等等…。那么這么多的功能要實現(xiàn)就要用到線程了。
?
- Java工具軟件免費(fèi)下載 5次下載
- Python的程序設(shè)計資料合集 22次下載
- 軟件的PID程序資料合集免費(fèi)下載 29次下載
- Python程序設(shè)計的復(fù)習(xí)題資料合集免費(fèi)下載 9次下載
- Python程序設(shè)計的復(fù)習(xí)題庫資料合集免費(fèi)下載 13次下載
- 使用Java實現(xiàn)超市貨物管理系統(tǒng)的資料合集免費(fèi)下載 2次下載
- PHP程序設(shè)計高級教程的源代碼合集免費(fèi)下載 55次下載
- Java的基礎(chǔ)測試題資料合集免費(fèi)下載 0次下載
- Matlab軟件進(jìn)行程序設(shè)計的教程免費(fèi)下載 10次下載
- 使用51單片機(jī)進(jìn)行簡易電子琴設(shè)計的電路和程序資料合集免費(fèi)下載
- 串口通信的應(yīng)用程序資料合集免費(fèi)下載 18次下載
- 使用STM32進(jìn)行diy示波器的程序和資料合集免費(fèi)下載 79次下載
- 電子鐘通用處理程序設(shè)計的詳細(xì)資料合集免費(fèi)下載 7次下載
- 五個MATLAB程序設(shè)計資料合集免費(fèi)下載 19次下載
- 使用C語言設(shè)計貪吃蛇的詳細(xì)資料合集(程序,應(yīng)用軟件,設(shè)計思路)免費(fèi)下載 22次下載
- PLC程序設(shè)計常用方法總結(jié) 4430次閱讀
- 如何用Rust通過JNI和Java進(jìn)行交互 619次閱讀
- 淺談項目中的程序設(shè)計思路與步驟 972次閱讀
- 解析PLC梯形圖程序設(shè)計 1402次閱讀
- 如何在Ubuntu 22.04安裝Java 5620次閱讀
- 如何利用邏輯設(shè)計法進(jìn)行PLC的程序設(shè)計 3760次閱讀
- 單片機(jī)程序設(shè)計時如何進(jìn)行優(yōu)化詳細(xì)資料概述 4633次閱讀
- 介紹MATLAB程序設(shè)計中M程序及使用方法 6847次閱讀
- 基于Java的游戲服務(wù)器開發(fā)技術(shù)體系詳解 7230次閱讀
- 學(xué)習(xí)Java編程 這10個技巧不容錯過 2456次閱讀
- java常用名詞解釋大全 1.2w次閱讀
- java程序的執(zhí)行過程詳解 1.7w次閱讀
- 由傳統(tǒng)電工圖轉(zhuǎn)換為階梯圖的過程,淺談程序設(shè)計 5389次閱讀
- 程序設(shè)計基礎(chǔ):字符能像整數(shù)一樣計算 4424次閱讀
- 單片機(jī)與程序設(shè)計(上) 3786次閱讀
下載排行
本周
- 1SMD LED選型手冊 貼片燈珠
- 5.47 MB | 4次下載 | 免費(fèi)
- 2明緯S-50-24開關(guān)電源電路圖.pdf
- 0.10 MB | 2次下載 | 5 積分
- 3基本半導(dǎo)體產(chǎn)品在Sic逆變焊機(jī)中的應(yīng)用
- 7.27 MB | 2次下載 | 免費(fèi)
- 4加密芯片的一種破解方法和對應(yīng)加密方案改進(jìn)設(shè)計
- 0.29 MB | 1次下載 | 免費(fèi)
- 5多功能MPU芯片GC9005數(shù)據(jù)手冊
- 2.67 MB | 1次下載 | 免費(fèi)
- 6基本半導(dǎo)體產(chǎn)品在125kW工商業(yè)儲能PCS中的應(yīng)用
- 10.74 MB | 1次下載 | 免費(fèi)
- 7MOSFET參數(shù)解讀
- 1.59 MB | 1次下載 | 2 積分
- 8550W充電機(jī)原理圖
- 0.13 MB | 1次下載 | 6 積分
本月
- 1使用單片機(jī)實現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2美的電磁爐維修手冊大全
- 1.56 MB | 16次下載 | 5 積分
- 33314A函數(shù)發(fā)生器維修手冊
- 16.30 MB | 13次下載 | 免費(fèi)
- 4STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 5感應(yīng)筆電路圖
- 0.06 MB | 8次下載 | 免費(fèi)
- 6使用TL431設(shè)計電源
- 0.67 MB | 7次下載 | 免費(fèi)
- 7不對稱半橋(AHB)反激變換器的分析與設(shè)計
- 0.68 MB | 6次下載 | 1 積分
- 8LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 5次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多