使用Java進(jìn)行坦克大戰(zhàn)游戲軟件程序設(shè)計(jì)的資料合集免費(fèi)下載
資料介紹
隨著網(wǎng)絡(luò)時(shí)代的到來及發(fā)展,游戲產(chǎn)業(yè)方興未艾,出現(xiàn)了前所未有的繁榮。“貪吃蛇”、“俄羅斯方塊”這些簡單的游戲曾為一代接一代的游戲玩家所熟悉。并且隨著網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展,更加有趣、更為生動(dòng)的游戲?qū)映霾桓F。由于Java技術(shù)的不斷發(fā)展,Java良好的跨平臺特性在移動(dòng)平臺的開發(fā)中顯示出了巨大的威力。Java語言面向?qū)ο蟮膬?yōu)勢也使得開發(fā)游戲變得非常容易,同時(shí)eclipse平臺的優(yōu)越性也給了這類游戲程序的設(shè)計(jì)帶來了很多的優(yōu)點(diǎn)和方便。本論文主要介紹了坦克大戰(zhàn)游戲的設(shè)計(jì)思路和實(shí)現(xiàn)過程。這種設(shè)計(jì)主要是利用函數(shù)對背景的所有物體進(jìn)行繪圖,然后利用線程以及***監(jiān)聽機(jī)制對物體進(jìn)行控制,例如坦克,從而實(shí)現(xiàn)各種功能,最后就可以構(gòu)成一個(gè)活生生的坦克大戰(zhàn)游戲了。
Java功能在移動(dòng)設(shè)備上的實(shí)現(xiàn),Java應(yīng)用程序產(chǎn)生的服務(wù)逐漸體現(xiàn)出其影響力,對豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。本論文著眼于java語言的優(yōu)點(diǎn),開發(fā)一款可可供娛樂的游戲程序——坦克大戰(zhàn)。
1. 坦克大戰(zhàn)是一個(gè)可大可小的游戲,想法靈活可以編寫出很多功能,所以需要對程序的要求量應(yīng)該是巨大的,但是其代碼利用率很高,因此實(shí)際編寫時(shí)也不需要太多的絞盡腦汁,可以利用各模塊程序的相近性靈活運(yùn)用。一個(gè)實(shí)時(shí)運(yùn)行的最終作品,每秒都會(huì)運(yùn)行成千上萬行程序,繪圖***、鍵盤***都會(huì)以極高的頻率在后臺等待響應(yīng),若有絲毫的差別都將很容易導(dǎo)致程序在運(yùn)行不久后可能出現(xiàn)嚴(yán)重錯(cuò)誤,甚至死循環(huán)。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的***及意外情況考慮在設(shè)計(jì)中。
2. 游戲中為了美觀,適用性強(qiáng)以及操作的簡便性,我們主要利用draw函數(shù)畫出矩形,圓及線構(gòu)成一輛***,同時(shí)畫出子彈,敵方坦克可以直接引用之前畫出的坦克,這樣畫圖的問題就基本解決了。
3. 己方坦克的運(yùn)行可以通過鍵盤響應(yīng)***控制,但敵方則因?yàn)槭亲詣?dòng)運(yùn)行,就需要有一定其一定的智能性;同時(shí),出現(xiàn)在屏幕上的敵方可能會(huì)有較多的數(shù)量,這需要為每個(gè)敵方開辟一個(gè)線程以便能讓其獨(dú)立運(yùn)行。Java的多線程能力為實(shí)現(xiàn)這樣的游戲提供了可能。敵人坦克的運(yùn)行算法也需要進(jìn)行適當(dāng)?shù)脑O(shè)置,以免游戲過于簡單,單調(diào)。
4. 對于雙方坦克發(fā)出的子彈的控制也需要對其跟蹤控制,子彈也需要處在獨(dú)立的線程中。敵方子彈僅需要掃描用戶坦克,而用戶坦克需要在每一步掃描所有的敵方坦克。這需要對所有的對象有較好的控制。另外,子彈在運(yùn)行過程中也需要實(shí)時(shí)掃描是否碰撞到了相關(guān)障礙物或屏幕邊界。同時(shí)為了游戲的公平性,己方坦克發(fā)出的子彈數(shù)量必須控制,不能一下發(fā)出太多顆。
5. 對于敵我雙方的坦克在運(yùn)動(dòng)的過程中也需要考慮會(huì)不會(huì)發(fā)生碰撞也就是重疊狀況體,也要考慮坦克碰到邊緣時(shí)不能繼續(xù)前進(jìn),以免跑出有效范圍,每前進(jìn)一步都需要將所有的周圍環(huán)境進(jìn)行嚴(yán)格的控制。
6. 游戲的結(jié)束、開始、動(dòng)態(tài)畫面等信息是構(gòu)成一個(gè)完美程序必不可少的環(huán)節(jié)。良好的用戶界面更是吸引用戶的硬實(shí)力,為此必須要加入坦克爆炸的效果圖以及游戲進(jìn)行時(shí)的音效。
7. 用戶運(yùn)行游戲時(shí)需要有分?jǐn)?shù)記錄的可能。如何采用合理的記分標(biāo)準(zhǔn),需要進(jìn)行適當(dāng)?shù)脑O(shè)計(jì)。記錄分?jǐn)?shù)的存儲(chǔ)方式也需要有較好的解決方案,可以利用IO流編程來實(shí)現(xiàn)將數(shù)據(jù)存入電腦硬盤中的某個(gè)文件中。
本程序采用面向?qū)ο蟮脑O(shè)計(jì)模式,對游戲中的所有物體賦予對象的概念和屬性。運(yùn)行程序后允許用戶選擇執(zhí)行選項(xiàng)菜單,在開始游戲后將先對背景的所有物體進(jìn)行繪圖。在主程序運(yùn)行的線程中,畫面刷新將以一定的頻率采用雙緩沖技術(shù)對屏幕重繪,實(shí)時(shí)反映整個(gè)游戲的進(jìn)行狀態(tài)。用戶控制的坦克運(yùn)行在主線程中,敵方坦克將在游戲開始時(shí)逐漸新增線程,每增加一個(gè)敵方坦克對象就新增加一條線程,一旦線程數(shù)滿到最大值(本程序暫設(shè)置為20),就不允許敵人再繼續(xù)出現(xiàn)。用戶坦克自誕生之時(shí)起將擁有5發(fā)子彈的權(quán)利,子彈雖然開在單獨(dú)的線程中,但運(yùn)行結(jié)束后(比如撞到相關(guān)物體或敵方坦克時(shí))并不結(jié)束子彈對象,只是將其線程終止。用戶再次發(fā)射子彈時(shí)只是將終止的線程再次激活。在屏幕重繪的主程序中,將在每次的循環(huán)中判斷若干***。如:用戶坦克的生命是否為0,敵方坦克數(shù)是否已經(jīng)為零,屏幕上的坦克數(shù)量是否少于仍剩下的坦克數(shù)量等。以便程序進(jìn)入相關(guān)的分支執(zhí)行相關(guān)的反應(yīng)代碼,結(jié)束游戲或統(tǒng)計(jì)分?jǐn)?shù)等。主程序流程如圖所示:
Java界曾流行這樣一句話:不懂線程就不要說自己會(huì)Java,可見線程對Java的重要性是多么的大。那么線程的作用有哪些呢,最為典型的就是你在網(wǎng)絡(luò)上放一個(gè)服務(wù)端,一個(gè)客戶端訪問時(shí),就會(huì)新建一個(gè)線程處理這個(gè)客戶端的事務(wù),這樣的話只要不斷新建線程就可以處理多個(gè)用戶的請求了。當(dāng)然我們的這個(gè)坦克大戰(zhàn)游戲的實(shí)現(xiàn)肯定離不開線程,例如己方坦克是必須要會(huì)移動(dòng)的,那么敵人坦克也要移動(dòng),子彈呢?當(dāng)然也要會(huì)移動(dòng),等等…。那么這么多的功能要實(shí)現(xiàn)就要用到線程了。
?
- Java工具軟件免費(fèi)下載 5次下載
- Python的程序設(shè)計(jì)資料合集 22次下載
- 軟件的PID程序資料合集免費(fèi)下載 29次下載
- Python程序設(shè)計(jì)的復(fù)習(xí)題資料合集免費(fèi)下載 9次下載
- Python程序設(shè)計(jì)的復(fù)習(xí)題庫資料合集免費(fèi)下載 13次下載
- 使用Java實(shí)現(xiàn)超市貨物管理系統(tǒng)的資料合集免費(fèi)下載 2次下載
- PHP程序設(shè)計(jì)高級教程的源代碼合集免費(fèi)下載 55次下載
- Java的基礎(chǔ)測試題資料合集免費(fèi)下載 0次下載
- Matlab軟件進(jìn)行程序設(shè)計(jì)的教程免費(fèi)下載 10次下載
- 使用51單片機(jī)進(jìn)行簡易電子琴設(shè)計(jì)的電路和程序資料合集免費(fèi)下載
- Java的一些基礎(chǔ)面試題資料合集免費(fèi)下載
- 使用STM32進(jìn)行diy示波器的程序和資料合集免費(fèi)下載 80次下載
- 電子鐘通用處理程序設(shè)計(jì)的詳細(xì)資料合集免費(fèi)下載 7次下載
- 五個(gè)MATLAB程序設(shè)計(jì)資料合集免費(fèi)下載 19次下載
- 使用C語言設(shè)計(jì)貪吃蛇的詳細(xì)資料合集(程序,應(yīng)用軟件,設(shè)計(jì)思路)免費(fèi)下載 22次下載
- 如何用Rust通過JNI和Java進(jìn)行交互 807次閱讀
- 淺談項(xiàng)目中的程序設(shè)計(jì)思路與步驟 1338次閱讀
- 解析PLC梯形圖程序設(shè)計(jì) 1609次閱讀
- 簡述Java程序的運(yùn)行機(jī)制 2830次閱讀
- 如何在Ubuntu 22.04安裝Java 5818次閱讀
- 如何利用邏輯設(shè)計(jì)法進(jìn)行PLC的程序設(shè)計(jì) 4017次閱讀
- 單片機(jī)程序設(shè)計(jì)時(shí)如何進(jìn)行優(yōu)化詳細(xì)資料概述 4836次閱讀
- 介紹MATLAB程序設(shè)計(jì)中M程序及使用方法 7018次閱讀
- 基于Java的游戲服務(wù)器開發(fā)技術(shù)體系詳解 7319次閱讀
- 學(xué)習(xí)Java編程 這10個(gè)技巧不容錯(cuò)過 2536次閱讀
- java常用名詞解釋大全 1.2w次閱讀
- java程序的執(zhí)行過程詳解 1.7w次閱讀
- 由傳統(tǒng)電工圖轉(zhuǎn)換為階梯圖的過程,淺談程序設(shè)計(jì) 5557次閱讀
- 程序設(shè)計(jì)基礎(chǔ):字符能像整數(shù)一樣計(jì)算 4532次閱讀
- 單片機(jī)與程序設(shè)計(jì)(上) 3889次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論