專案總結:
紀念下自己首個java專案—坦克大戰。在為期兩週的奮鬥中逐漸成型。這個專案對我有以下幾點意義(提升):
1。 學習 java 的 Thread 多執行緒知識。
2。 學習繪圖工具Swing的運用以及圖形的碰撞檢測。
3。 運用了圖形化使用者介面 GUI。
4。複習鞏固了java程式設計基礎。
5。鍛鍊了邏輯思維。
6。掌握MVC框架。
7。對面向物件有了深入認識。
8。強化了自己查詢bug,除錯bug,解決bug的能力等等。
但是最重要的還是對自我的一種肯定,從一名零基礎的學員,到獨自完成一個專案,都是一步一個腳印緩慢但踏實的走出來。中間的經歷也是起起落落,有進度沒完成的焦躁,組員進度太慢的焦慮,遇到bug的煩躁,解決問題的成就感等等。透過這個專案我感覺自己有許多不足之處:
1。沒有好好的規劃、立項,對專案的認識不夠,沒有照著進度來完成。
2。容易在敲程式碼的時候突然心血來潮,想搞事情,結果都變成搞自己。
3。對於所學內容沒有很好的掌握,更多的是看筆記,參照以前作業的程式碼。
4。開發效率低下,時間利用不理想等等。
雖然不足的地方有很多,但是這是急不來的,習慣在於養成,思維在於鍛鍊。只有先自己踏實的學好老師所教內容,才能青出於藍而勝於藍,慢慢的形成自己的思維模式。
一階段暫時還看不出團隊協作,但是有問題的探討、方法的借鑑。整體上學習氛圍還是不錯的,團隊的協作是這個團隊強大的基礎,希望在以後的時間裡,大家能共同成長。
一階段的專案僅僅只是一個開始,重要的是這個過程,我收穫了什麼,學到了什麼,自己需要改進什麼,如果有一點收穫,那就是成功。因為你強大了自己。
在此,希望以後的學習能不忘初心,好好學習天天向上。
功能完成情況:
基本功能
1。介面構建:登入視窗、遊戲視窗(選單欄、遊戲面板、資訊區面板)、分數顯示視窗、遊戲通關視窗、遊戲結束視窗
2。遊戲框架搭建
3。開局
4。敵方坦克和我方坦克的產生、敵方坦克預設10臺,開局先產生5臺,不足5臺的重新產生。
5。自動生成森林、河流、磚牆和鐵牆
6。自動生成家園,家園居中且被磚牆包圍
7。敵方坦克的自由移動
8。我方坦克的受控移動,透過WSAD控制。透過K鍵可發射子彈
9。所有坦克碰撞時不可穿越、除非玩家出生無敵狀態存在時
10。子彈打到敵方坦克則扣血量、血量歸零產生爆炸效果
11。子彈打到磚牆則磚牆消失
12。我方坦克與敵方坦克子彈碰撞相互抵消
13。敵方坦克子彈碰撞穿越處理
14。敵方坦克子彈打我方坦克,視敵方子彈威力相應的扣血量,預設血量400,威力1就是100,以此類推。當我方坦克血量少於等於零時,坦克爆炸,並從家園左邊位置生成新的坦克,生命減1,直至3條生命用光,則遊戲結束。我方坦克預設3條生命值。
15。敵方坦克或我方坦克攻擊到家園時,家園損毀,遊戲結束。
16。構建敵我雙方血條。
17。資訊區面板顯示當前關卡數,當前生命條數,當前消滅敵人總數,當前分數。
18。預覽區面板:顯示未出現的不同敵人數量(每關10個敵人,保持介面上5個)
19。操作區面板:遊戲按鍵操作
20。遊戲暫停 繼續
21。構建不同關卡,過關有過關提示,通關後顯示統計分數視窗。
22。遊戲結束與通關視窗都能重新開始遊戲,或者退出遊戲
23。遊戲結束後或者通關後統計最後得分
24。幫助和關於介面
。
。
擴充套件功能
1。敵方坦克分為3種,不同坦克獲取分數不同,發射的子彈威力不同,生命值不同。
2。 自定義面板:調節關卡、我方坦克生命值、血量、移動速度、子彈移動速度、敵方坦克的總數量。
3。 功能道具:血包、生命包、加強子彈、家園防禦加強、定時器、炸彈包。
4。自定義地圖:能自己透過滑鼠點選地圖按鈕,然後選取或點選區域生成地圖,可以選擇儲存地圖。儲存後直接開始自定義地圖的遊戲,通關後回到第一關。提供取消修改按鈕,點選則清空地圖。
亮點
1。 根據獲得分數顯示排行榜:只顯示10個排名。