一、 需求分析
i. 隨着科技的飛速發展,越來越多的游戲如雨后春筍般出現,對於有選擇困難症的懷舊玩家,他們沒有很多時間去挑選游戲,這時候就需要一款簡單,方便的游戲來娛樂。
ii. 雙人模式可滿足玩家偶爾想要和朋友一起玩的需求。
iii. 貪吃蛇游戲節奏快,可隨時暫停或者繼續,有挑戰性,可在碎片時間進行游戲。
二、 本組課題及本人任務
1. 本組課題
《貪吃蛇小游戲》
2. 本人任務
GUI界面的設計與優化。
3. Git提交記錄
三、 總體設計
1) 功能結構圖
2) 面向對象類設計圖
四、 本人負責的主要功能展示與代碼分析
主要功能展示
主界面
選關界面
設置界面
游戲界面
代碼分析
1. 主界面代碼
主界面的是先把JFrame設置BorderLayout,然后把JPannel1放CENTER位置,這樣就能填滿整個JFrame,然后右邊按鈕部分是JPannel1里面新建一個布局為GridLayout的JPannel2,再在里面添加按鈕。
- 2.
按鈕圖片添加代碼
- 3.
返回按鈕監聽器設置
- 4. 選關界面代碼
選關界面也是先一個JPannel1填滿JFrame,然后將JPannel1布局設置為GridLayout的4*4網格布局,然后在里面添加關卡按鈕
五、 測試、改進與感想
測試
- 1. 選關界面修改前
- 2. 主界面修改前
- 3. 按鈕邊角修改前
改進
- 1. 選關界面修改后(新建一個大的JPannel1放在BorderLayout布局的JFrame的CENTER,然后在Jpannel1里面建一個GridLayout用來布置按鈕。這樣就能使得背景圖片充滿窗體了)
- 2. 主界面修改后(將JPannel2的背景設置為了NULL,這樣就不會擋住JPannel1的背景圖片了)
- 3. 按鈕圖片修改后(把按鈕的邊框和填充都去除了,剩下一個圖片)
感想
1)
本次課程設計與以往的單人式的課程設計不同,為團隊模式,這更加考驗隊員之間的團結協作能力,好在我們隊員之間提前溝通,相互幫助,不懂的地方互相請教,共同進步,最終完成了課程設計。
2)
在本次課程設計中,我大多數設計在Netbeans8.2上完成,但是許多部分到了Idea軟件里面出現各種沒設置到的部分,如按鈕圖片添加問題,JPannel背景透明問題,按鈕填充和邊框等等問題,之后通過手動添加代碼,一一解決了,通過這種方式解決問題鍛煉了我獨立解決問題的能了,加深了我對java語言的理解,對於GUI設計也更加熟練了。
3)本次課程設計還有一些遺憾的地方,比如本來做想讓鼠標移到按鈕上面,按鈕變大的效果,但是沒有搜索到相關內容,感覺可能是我的描述不夠清楚的原因。
六、 附錄
見小組報告。