一、團隊課程設計博客鏈接:
https://www.cnblogs.com/chenhuilin/p/10275664.html
二、個人負責模塊或任務說明:
模塊:GUI設計(游戲面板,登錄面板,主窗體,顯示關卡面板)
三、自己的代碼提交記錄截圖
四、自己負責模塊或任務詳細說明
1.游戲面板:繪制游戲界面,將所有游戲元素展現出來
1.初始化組件:將各個元素實例化,如子彈,坦克,牆塊。根據單人還是雙人決定創建幾個玩家坦克。
2.使用paint方法繪制畫面到面板上,paint方法中還有許多繪制方法。
舉例:
繪制子彈,首先循環遍歷所有子彈對象,獲取子彈對象判斷其是否還真實存在,存在則調用相應方法並畫出,不存在則刪除該對象。(其它繪制方法類似於此)
3.創建游戲刷新幀線程,並開啟,通過刷新幀形成動畫效果
4.開啟鍵盤監聽,來操控坦克的移動,和攻擊
5.如果gameover會調用stopThread(),並回到原關卡,如果消滅了當前關卡的敵人坦克,則進入下一級關卡,(關卡轉換調用了JumpPageThead線程,)直到最終勝利,出現勝利圖樣。
2.顯示關卡面板(第幾關開始提示):登錄面板和游戲面板的過渡界面,只有一個閃爍的動畫效果
1.調用關卡面板的動畫線程,並開始線程,最終繪制如上圖的圖片,經三秒。
2.使用主窗體的setPanel方法跳轉到游戲面板
3.主窗體:整個面板最外層載體,一個800*600的窗體
1.調整屏幕尺寸及位置
2.建立窗口事件監聽,使得在關閉窗口時會提示我們是否就此退出游戲。
3.添加登錄面板。
4.登錄面板:選擇游戲模式是單人還是雙人
1.建立鍵盤事件監聽,控制坦克圖標上下移動,或進入游戲。
2.重寫paint方法,將背景及圖形元素繪制在面板上。
3.使用異常,使整個程序更加健壯。
五、課程設計感想
1.對Java的面向對象思想的理解更加透徹。
2.對GUI界面的設計更得心應手。
3.團隊的力量是強大的,在整個的團隊的共同努力下我們才能圓滿的完成這次課設。