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