1.1項目簡介
本次Java課程設計是作一個飛機大戰的遊戲,應用Java.Swing、java.BufferedImage編程,經過小組合做,完成一個界面簡潔流暢、遊戲方式簡單,操做易於上手的小遊戲,該飛機大戰運用的主要技術便是Swing編程中的一些窗口類庫、事件監聽以及緩衝區圖像技術。
咱們首先對這個遊戲分析,在屏幕上的物體都是飛行物,咱們能夠把建一個類,讓其餘飛行物繼承這個類.遊戲中應有英雄機(也就是本身控制的飛機)、敵人。而敵人應該分爲打死給分的飛機(就是普通飛機),另外一種就是打死有獎勵的敵人。他們都應該是飛行物的子類,咱們也能夠爲普通飛機和給獎勵的敵人設一個接口讓他們去實現接口,這樣有利於之後的擴展。
1.2項目採用技術
在總體模式上參考了MVC的分層思想,運用Swing界面編程,經過BufferedImage處理爆炸結果,爆炸效果是連續的顯示一系列的圖片。經過Timer定時器和TimerTask任務功能控制敵機產生時間、獎勵物刷新時間。經過MouseListener和MouseAdapter處理鼠標的監聽事件,其中適配器能夠替代接口來處理事件。
1.3功能需求分析
咱們須要兩個接口:enemy敵人接口、Award獎勵接口;飛行物類FlyingObject、英雄機類Hero、普通敵機類Airplane、特殊敵機類BigPlane、獎勵箱類Bee、子彈類Bullet、爆炸類Ember、主類 shootgame。
1.4項目亮點
(一)經過鼠標控制英雄機的位置。
(二)界面中敵機出現的位置、數量均爲隨機的。
(三)大小飛機出現的次數單獨計算,但總數不超過必定量。使玩家不會產生很差的遊戲體驗。
(四)敵機與英雄機的碰撞效果,每次碰撞都會減小英雄機的生命。
(五)增長獎勵機制,在擊敗大飛機和獎勵箱的時候,會隨機出現增長生命值,增長火力強度的獎勵。
(六)遊戲在點擊任意位置是開始,當鼠標移出遊戲界面時,遊戲暫定。實現隨玩隨點。
1.5系統演示操做視頻
https://v.youku.com/v_show/id_XNDcyMjYyMjQ4OA==.htmlhtml
2.1隊內分工java
學號 2018122241634 姓名(組長) 劉學良 班級 18信息管理與信息系統
負責模塊
FlyingObject Hero Airplane enemy Award編程
學號 2018122241629 姓名(組員) 牛玉晨 班級 18信息管理與信息系統
負責模塊
shootgameide
學號 2018122241640 姓名(組員) 王嘉祺 班級 18信息管理與信息系統
負責模塊
bee bigplane bullet ember設計