坦克大戰--Java類型


寫在前面

      Java編譯器下載教程(真的良心):https://blog.csdn.net/Haidaiya/article/details/81230636

      本項目為本人獨自制作,請各位尊重我的努力成果謝謝。同時,這個項目中也存在一些問題,請見諒。

        本項目需要啟動服務器,在類Server中啟動主函數,隨后啟動類Main中的main方法即可開始運行,服務器的地址默認為本地,如需修改,請在類Client中進行修改,謝謝。

        本項目中的圖片音樂均來自網絡,請不要用於商用(說起來我也不知道是否可以),僅用於學習和自己本地玩就好,否則,后果自負。

        文件源碼和圖片在博客最后面

項目要求

      

項目制作思路

(1)為了實現圖形界面,我們需要學習一波JFrame(畫框),JPanel(畫布 ), JButton(按鈕)等等.....具體請參考我的另一篇博客

(2)自定義按鍵,嗯,學習一波KeyListener,為了能夠使用JButton(按鈕)進行各種操作,學習一波ActionListener;同時,為了能夠讓用戶更好的自定義按鍵,采用JComboBox(多選框)進行選擇,學習一波嗯。

(3)計時器,嗯,多線程

(4)聯系移動,嗯,這個設置為,每次點擊移動鍵后,將坦克位置移動相同距離就好了

(5)障礙物,嗯,為了更好的游戲體驗,我用了7天試用期的PS CC 完成了所有圖片制作,不得不說,PS是個好東西。圖片都是網上找,然后用PS進行修改。同時,為了可以判斷坦克和坦克之間、坦克和牆之間、子彈和牆、坦克之間的碰撞,專門用了一個Jduge類來判斷各種碰撞,同時也進行坦克移動的判斷。

(6)AI坦克,嗯,偷了個懶,我用的是隨機數,讓坦克往一個方向一段一段距離,期間每隔一段時間,射出炮彈,同時遇到牆或者坦克就換一個方向繼續行走。

(7)服務器,嗯,學習一波socket

擴展內容

(1)作為一個游戲,怎么能沒有好的background和background music呢,為此使用了PS CC進行背景處理,又學習了一個剪輯音樂的軟件,說起來,我這個剪輯音樂的軟件真心不錯,還可以剪輯視頻呢,微軟商城找的,名字是剪影,輕度廣告,而且你一般看不到(只在導出文件的時候彈出,而且不會擋住屏幕,比某剪輯良心不少)

(2)然后,障礙物、子彈、坦克的圖片也很重要,為此,借助了PS CC 和百度的強大,完成了這方面的制作。

(3)由於一般的游戲不止有一個地圖,為了制作多個地圖,我利用excel進行構建地圖(說起來,這個還真是好用)

(4)對於音樂,我們需要學習一波URI , URL ,AudioClip等等,具體內容請百度或者看我的另一篇博客。我的音樂可能不讓各位滿意,如需更改,請在類Music進行修改。

(5)之后,在項目完成的前幾天,我覺得gif是個好東西,為此又下了一個軟件進行gif制作.....說到gif,我有覺得,如果可以實現點擊圖片,然后.....(不劇透,因為也就那么回事)

(6)為了增加游戲體驗,我為部分牆壁增加了獎勵物品,包括加速,傷害增加,加血等等,其中在第三關,我增加了隨機生成岩漿的功能,就是因為這個功能,我自己都很少過關(微笑)。本來最開始的時候想過進行坦克升級的,后來做完了后忘記了,現在因為沒有PS了,所以就放棄了,哎,PS是個好東西呀!

(7)然后呢,似乎沒得寫了耶,最后的擴展就是........(永遠不可能停止更新的游戲,“只要你肯加”)。

游戲截圖

 

 

 

 

 

 

 

 

 

寫在最后

這個項目我也是寫了比較久的,這篇文章是個綜述,游戲的源碼也放在這里,之后會寫幾篇博客,分開講解整個程序。算是作為Java學習的總結了。

文件源碼(包括圖片)

下載鏈接:https://pan.baidu.com/s/1j-FDcvwuLST6hr8my2F3QA

提取碼:qwdz

二維碼:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM