已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京青年政治学院小学期 达内 JAVA 课程项目报告 项目题目: 雷电游戏的设计与实现 专业班级: 学生姓名: 学生学号: 指导教师姓名: 1 目 录 一、系统目标 .X 二、系统设计思路 .X 三、系统详细设计 .X 四、系统实现 .X 五、系统设计总结 XX 六、参考文献 XX 2 1、 系统目标 通过本游戏的设计,综合自己在校期间所学的理论知识,设计 开发雷电游戏,使自己熟应用系统的开发过程,培养独立思考能力, 检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步 巩固和加强自身对 J2SE 基础知识的理解,提高自己的编程水平,从 而达到理论与实践相结合的目的。 通过本游戏的开发,主要实现游戏的可操作性及美观性,同时 使自己对 JAVA 语言的了解更进一层,为将来的实际工作打下坚实的 基础。 二、系统设计思路 1、定义窗口的属性 2、分别设置背景图片,英雄飞机图片,敌机图片,子弹图片,爆炸的图片 3、分别设置敌机和英雄飞机的运动轨迹 4、写出判断敌机是否与英雄飞机相撞,子弹是否击中敌机的代码 5、设置一些丰富游戏的细致属性,例:绘制积分情况和血量图,子弹发射的频 率等 3、系统详细设计 1、定义窗口属性 (1)创建一个窗体对象 (2)设置窗体的标题 (3)设置窗体的大小 (4)关闭窗口时退出程序 (5)设置窗体在屏幕当中显示的位置 3 (6)设置窗体的显示 注:游戏面板应做到 1、继承 JPanel 2、实现相应的接口 线程和鼠标监听事件 2、定义并设置游戏中的主要元素 (1)定义一个英雄飞机并对其属性进行设置 (2)定义一个存放英雄机子弹的集合 (3)定义存储敌机的数组,敌机初始化值为 10 并将其放入到数组当中 (4)创建一个生成随机数的 Random 对象 (5)定义一个存放爆炸图片的集合 (6)设置敌机的属性,并将创建好的敌机添加到数组当中 (7)绘制图片。分别绘制英雄机的子弹,英雄飞机,敌机,爆炸图片 (8)对子弹的设置。将创建的子弹添加到存放子弹的集合当中,控制子弹的发 射频率,让子弹飞,得到集合中的每一个子弹,当鼠标的某一个键按下时,发 射子弹,英雄机子弹自动移动等。 (9)写出鼠标点击,释放,拖拽时调用的方法代码 3、做判断时所用的代码编写 (1)判断子弹是否击中敌机 获取敌机的中心坐标 判断是否击中敌机的心脏 (2)判断敌机是否与英雄机相撞等 4、丰富游戏的设置 绘制得分情况,绘制英雄飞机血量图和游戏结束等字体 四、系统实现(游戏代码展示) import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; 4 import java.awt.event.MouseMotionListener; import java.util.ArrayList; import java.util.List; import java.util.Random; import javax.swing.ImageIcon; import javax.swing.JPanel; public class GamePanel extends JPanel implements Runnable, MouseListener, MouseMotionListener private Flight heroFlight; private List heroFires; /定义存储敌机的数组 private Flight flights; /初始化敌机为 10 架 private int num = 10; /创建一个生成随机数的 Random 对象 private Random ran = new Random(); /定义一个统计积分的属性 private int score; /定义一个存放爆炸图片的集合 private List bomPics; 5 / 创建面板的构造器,对属性进初始化 public GamePanel() /创建存放爆炸图片集合的对象 bomPics = new ArrayList(); / 创建英雄飞机的对象,并对其属性进行设置 heroFlight = new Flight(); heroFlight.setWidth(80); heroFlight.setHeight(80); heroFlight.setX(200); heroFlight.setY(300); heroFlight.setDirection(Flight.UP); heroFlight.setImage(new ImageIcon(“src/images/hero.gif“).getImage(); heroFlight.setPanel(this); heroFlight.setSpeed(3); heroFlight.setWasFire(false); heroFlight.setBload(100); /创建存储英雄子弹的集合对象 heroFires = new ArrayList(); /对存放敌机的数组进行创建并进行元素的初始化 6 flights = new Flightnum; /创建敌机并将其放入到数组当中 for(int i=0;i0) /绘制英雄机的子弹 for (int i = 0; i this.getHeight() flightsi.setY(-ran.nextInt(500); flightsi.setX(ran.nextInt(500); if(heroFlight.isWasFire() heroFire.setWidth(40); heroFire.setHeight(40); 10 heroFire.setX(heroFlight.getX() + heroFire.getWidth()/2); heroFire.setY(heroFlight.getY(); heroFire.setDirection(Fire.UP); heroFire.setSpeed(5); heroFire.setImage( new ImageIcon(“src/images/fire.gif“).getImage(); heroFire.setPanel(this); /将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南商务职业学院《流行音乐史Ⅱ》2024-2025学年第一学期期末试卷
- 商场租赁合同模板
- 2025年河大版(三起)(新教材)小学信息科技第三册期末质量检测卷附答案(共三套)
- 文献检索与科技写作
- 浅谈电力电子技术在新能源方面的应用
- 新华社国内笔试题
- 如何加强成本管理提高企业效益
- 英语四级阅读常见问题及解决对策
- 毕业论文导师的评语集锦
- 煤炭行业的价值链与供应链
- 直播设备及耗材预算清单(明细)-
- 铁路货物运价规则铁运
- 大班科学《营救淘淘大闯关》
- 重大事故隐患排查表
- 《工程更改管理程序》
- 国开电大《信息技术应用》形考任务二国家开放大学试题答案
- 人物往来与中日文化交流史智慧树知到答案章节测试2023年浙江工商大学
- 去极端化教育课件
- 承德宽丰巨矿业有限公司大地铁项目环境影响评价报告书
- 气质联用培训材料
- 应聘面试小品剧本10人小品剧本《应聘风波》
评论
0/150
提交评论