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==.html

2.1队内分工

学号 2018122241634 姓名(组长) 刘学良 班级 18信息管理与信息系统
负责模块
FlyingObject Hero Airplane enemy Award

学号 2018122241629 姓名(组员) 牛玉晨 班级 18信息管理与信息系统
负责模块
shootgame

学号 2018122241640 姓名(组员) 王嘉祺 班级 18信息管理与信息系统
负责模块
bee bigplane bullet ember