- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java课程的设计小游戏
《高级语言程序设计》课程设计报告
程序设计说明书
【设计题目】
雷霆行动游戏程序
【问题描述】
雷霆行动是一款供大家休闲娱乐的小游戏,游戏通过鼠标控制我方飞机hero的移动,达到躲 闪敌机的目的;利用鼠标键发射子弹和导弹,达到击毁敌机的目的,摧毁敌机有积分。此游戏为闯 关积分类小游戏。
【软件功能】
1.按鼠标左键,游戏开始。
2.利用鼠标移动控制hero自由移动,闪躲敌方子弹。
3.利用鼠标左键发射子弹,实现打中敌方飞机的功能;利用鼠标右键释放导弹,实现摧毁大量敌 机的功能,击中一个敌方飞机积一分。
4.hero碰到对方子弹会消耗生命,消耗生命的多少,依据子弹的不同而不同。
5.一关之后会进入下一关。
6.游戏右上角红色的进度条表示hero的生命,当红色全部消失之后,游戏结束,显示死亡。
7.游戏结束后,可重新开始,同1。
【算法思想】
1.创建游戏主界面,确定窗口的坐标。
2.设计游戏开始界面显示信息及信息坐标。
3.设置游戏进行中的信息,hero的移动、释放子弹和导弹,达到击毁敌机的目的。
4.处理游戏进行中的子弹、大爆、爆炸、敌机消失和存在的条件。
5.设置进入下一关的条件。
6.设计游戏结束界面显示信息及信息坐标。
7.处理游戏重新开始满足的条件。
8.装载图像。
9.对游戏进行调试和改进,使这个游戏更加完善。
【类的设计】
本程序共有七个类:
1.MainPanel
属性:BBv为子弹数组,EEv为敌机数组,BOMBv为爆炸数组,EBv为敌机子弹数组,DBv 为大爆数组,E-num为敌机数量,E-max敌机最大数,E-vel为敌机速度,E-mov为敌机 横移几率,E-hit为敌机开火几率,Sum为击毁敌机数量,hero-hp为hero生命,back至 db-2均为图片,tracker为媒体跟踪器,y为背景滚动变量,seq为hero的动画变量,isfire 为hero开火,isblast为是否发爆,blastnum为大爆的数量,blastc为控制大爆,f、ff、s、 ss均为游戏界面上显示的信息;
方法:MainPanel(Game)构造方法,paint(Graphics)建立游戏开始界面如显示的文字,run()控制 对象移动,BBmove(int,int)子弹的移动方法,DBmove(int,int)大爆的移动方法, mouseDragged(MouseEvent) 鼠标的拖拽用来保证hero不出界,mouseMoved(MouseEvent) 鼠标的移动用来控制hero移动,mousePressed(MouseEvent) 鼠标按键在组件上按下时调用鼠标按键在组件上单击(按下并释放)时调用鼠标按钮在组件上释放时调用鼠标进入组件上调鼠标离开组件时调用
游戏进行中界面
游戏结束界面
【程序技巧】
1.建立一个主类,其余六个类均通过这个主类来调用
2.响应鼠标事件
3.用户界面采用图形用户界面
4.利用媒体跟踪器监测图像的装载
5.无效的子弹和被摧毁的敌机能及时处理,未被摧毁的敌机与子弹可以保留
6.游戏失败可以重新开始
【模块划分及调用关系】
【模块流程图】
游戏界面主框架模块:
游戏操作模块:
【运行说明】
按鼠标左键开始游戏,鼠标移动控制hero的移动,按鼠标左键打出子弹,攻击敌机,每打死 一个敌机积一分,按鼠标右键放导弹,实现摧毁大量敌机的功能,本游戏共三关,若游戏中途失 败,可以重新开始。
程序上机调试报告
【语法错误及其排除】
1.无法更改导弹数量。解决方法:添加Blastnum=10语句,即有十个导弹;
2.个别图片运行不出来。解决方法:将图片格式与程序中相匹配;
3.文字在程序中写出,但在游戏过程中不显示。解决方法:将文字的坐标调试好。
【算法错误及其排除】
1.点击鼠标右键无法实现大爆。解决方法:mouseReleased(MouseEvent e)
2.hero的子弹打中敌机后敌机没有消失。解决方法:EBv.remove(i);
程序测试结果
【测试数据】
我方飞机的移动,是否能打出子弹,导弹的释放,能否摧毁敌方飞机,是否可以积分。
【输出结果】
游戏初始化
子弹爆炸情况
大爆(导弹爆炸)、飞机移动
【收获及体会】
本来以为课程设计是个很简单的事情,但是随着程序的编写,发现这是一个非常不容易的过程,通过去图书馆和上网查找资料,我发现我还有很多不足,
您可能关注的文档
最近下载
- 建筑施工高处作业安全技术规范JGJ80-202420240805.pptx VIP
- 【精编版】部编教材四年语文上册全册课后作业(含答案解析) .pdf VIP
- BHE-336F风电-光伏箱变智能监控装置说明书.pdf VIP
- 通力电梯LCE无机房KDM KDL中文注释版电气原理图.pdf
- 第二单元+探索+3+物联网的定位技术+课件+2024—2025学年苏科版(2023)+初中信息技术八年级上册.pptx VIP
- 人教版美术七上 第一单元第1课《情感的表达》课件.pptx
- 2025年招聘考试宝典物流经理竞聘笔试模拟题与答案详解.docx VIP
- 小学语文六年级上册期末试卷 (21).doc VIP
- 关于勤奋学习的名人故事(通用63则).docx VIP
- 2025年压裂装备市场分析报告.docx
文档评论(0)