JAVA课程设计飞机大战



《JAVA课程设计飞机大战》由会员分享,可在线阅读,更多相关《JAVA课程设计飞机大战(19页珍藏版)》请在文档大全上搜索。
1、1313计科二班计科二班目录 绪论绪论 功能分析功能分析系统设计系统设计制作感言制作感言绪论游戏应具备的特征游戏开发背景游戏应具备的特征一个游戏应该具有以下特征: 易于学习: 既然游戏面向的是普通消费者,那么他们不可能深入的学习游戏技巧。保持游戏 的简单是最基本的要求。 可中断性: 用户常常在任务之间有一小段时间。所以一个好的游戏应该提供短时间的娱乐功能,并且允许用户在游戏 和工作模式之间顺利切换。 基于订阅:手机游戏的盈利成功取决于他们巨大的使用量。如果一个手机游戏开发者要赢利的话,重要的是同一个游戏引擎,多个 标题,基本的故事情节类似。游戏开发背景 基于游戏应具备的特征,我们小组准备开发一
2、款简单易懂,便于操作,又兼备可中断性的游戏,于是我们想到了飞机大战。 作为现代社会的大学生,我们非常了解青年人对游戏的兴趣和要求,想要使一款游戏受到欢迎,清新好看的画面,巧妙的情节构思和可提升的操作技巧都是不可或缺的。 我们所设计的飞机大战,因为大家能力有限,所以还有很多地方需要改进。但是我们始终奉行着以上的原则,希望以后做出来的成品会越来越好返回目录功能分析 1.游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运 行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在 后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至
3、死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。 2.游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图, 在 MIDP2.0 中提供了用于增强游戏功能的 game 包,使得解决静态或动态、画面背景、屏 幕刷新的双缓冲等都有较好的解决方案。 功能分析3. 玩家飞机的运行可以通过鼠标响应事件控制,但敌方则因为是自动运行,就需要 有一定的智能性;敌人飞机的运行算法也要进行相关的设置,已免游戏过于简单。 4.对于双方的飞机应该赋予不同的速度,同时,程序应该设定敌人飞机的子弹不与敌人的飞机进行碰撞检测,已增加游戏的可玩性。 5. 双方的飞机在前进
4、时也需要考虑到是否碰撞到对方飞机,以免重叠运行,造成许 多物理上不可能的情况,缺乏真实感。每一次刷新页面、每前进一步都需要进行相关的碰 撞检测。功能分析8. Java 是基于虚拟机的半解释型编译系统,其执行效率较 C+等完全编译后的程序会低很多,程序如果不进行精简和优化,将可能导致运行的不流畅。除开发过程中对结构 上的控制、变量的使用、算法的优化等优化外,还可以使用混淆器(Obfuscator)进行程序 打包后的优化。 9. 游戏的结束、开始、动态信息画面作为构成一个程序都是必不可少的重要部分。 良好的用户界面更是吸引用户的硬指标,相关的美术构图和人性化设置也需要有一定的考 虑。 返回目录系统
5、设计主类Main.java: package com.beancore; import com.beancore.ui.MainFrame; public class Main public static void main(String args) throws InterruptedException MainFrame mainFrame;try mainFrame = new MainFrame(); mainFrame.loadGame(); catch (Exception e) e.printStackTrace(); 创建子弹类型类创建子弹类型类BulletType.java:
6、 package com.beancore.config; public enum BulletType YELLOW_BULLET, BLUE_BULLET 创建发射物类型类创建发射物类型类CatchableWeaponType.java: package com.beancore.config; public enum CatchableWeaponType BOMB, DOUBLE_LASER 设定炸弹类设定炸弹类Bomb.java:package com.beancore.entity;import com.beancore.config.CatchableWeaponType;imp
7、ort com.beancore.ui.GamePlayingPanel;public class Bomb extends CatchableWeapon public Bomb(GamePlayingPanel gamePlayingPanel, CatchableWeaponType weaponType) super(gamePlayingPanel, weaponType); 设定敌舰类型类设定敌舰类型类EnemyPlaneType.java:package com.beancore.config;public enum EnemyPlaneType SMALL_ENEMY_PLAN
8、E, BIG_ENEMY_PLANE, BOSS_ENEMY_PLANELineUnavailableException, UnsupportedAudioFileException, IOException File file = new File(filePath);AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);clip = AudioSystem.getClip();clip.open(audioInputStream); public void play() clip.setFrame