日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

飞机大战一Java课程设计

發布時間:2023/12/9 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 飞机大战一Java课程设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.人員分工

吳偉超(組長)游戲主界面設計與實現,鼠標類等的實現
馮仁樟前期調查與功能設計,博客制作,部分代碼

二.項目簡介

玩家通過鼠標控制飛機發射子彈擊中敵機獲取積分,與敵機或者子彈相撞則飛機爆炸游戲結束,擊敗最終boss則游戲通關,游戲結束,玩法簡單有趣,鍛煉反應能力。

三.功能架構圖

?四.面向對象設計包圖、類圖

包圖

?類圖

?五.項目運行截圖

1.初始界面

?2.游戲運行界面

3.我方飛機爆炸,游戲結束

4.游戲通關

六.項目關鍵代碼

?1.鼠標事件

//游戲的點擊啟動事件 this.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if (e.getButton() == 1 && state == 0){state = 1;repaint();}}}); //鼠標移動函數this.frame.addMouseMotionListener(new MouseAdapter() {@Overridepublic void mouseMoved(MouseEvent e) {PlaneObj.super.x = e.getX() - 11;PlaneObj.super.y = e.getY() - 16;}});

2.游戲暫停

//鍵盤監聽的暫停功能,空格暫停this.addKeyListener(new KeyAdapter() {@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == 32){switch (state){case 1:state = 2;break;case 2:state = 1;break;default:}}}});

3.碰撞檢測

public void paintSelf(Graphics gImage) {super.paintSelf(gImage);//我方飛機與敵方飛機的碰撞檢測if (this.frame.bossObj != null && this.getRec().intersects(this.frame.bossObj.getRec())){GameWin.state = 3;}}

七.代碼靜態掃描

基本全部代碼都是符合規范的。

八.總結

在最初設計界面背景時發生閃屏,開始我們并不知道解決原因,后通過詢問同學采用雙緩沖技術消除屏幕閃爍;設計的敵機類型單一,道具類型也可以再進行增加,關卡只有一關,過于枯燥,并且程序的碰撞檢測機制采用遍歷的方法實現,過于粗略。原計劃能夠在單人模式基礎上增加聯網模式,但在基本完成單人模式后剩余的時間不足以去實現,因此希望在空余時間加以完善。

總結

以上是生活随笔為你收集整理的飞机大战一Java课程设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。