- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精品文档
精品文档
PAGE
PAGE18
精品文档
PAGE
《高级语言程序设计》课程设计报告
1、程序设计说明书
【设计题目】
雷霆行动游戏程序
【问题描绘】
雷霆行动是一款供大家休闲娱乐的小游戏,游戏经过鼠标控制我方飞机 hero的移动,达到躲
闪敌机的目的;利用鼠标键发射子弹和导弹,达到击毁敌机的目的,摧毁敌机有积分。此游戏为
闯 关积分类小游戏。
【软件功能】
1.按鼠标左键,游戏开始。
2.利用鼠标移动控制 hero自由移动,闪躲敌方剂弹。
3.利用鼠标左键发射子弹,实现打中敌方飞机的功能;利用鼠标右键释放导弹,实现摧毁大量敌机的功能,击中一个敌方飞机积一分。
碰到对方剂弹会消耗生命,消耗生命的多少,依据子弹的不同而不同。
5.一关之后会进入下一关。
6.游戏右上角红色的进度条表示 hero的生命,当红色全部消失之后,游戏结束,显示死亡。
7.游戏结束后,可从头开始,同 1。
【算法思想】
1.创建游戏主界面,确定窗口的坐标。
2.设计游戏开始界面显示信息及信息坐标。
3.设置游戏进行中的信息,
hero
的移动、释放子弹和导弹,达到击毁敌机的目的。
4.办理游戏进行中的子弹、大爆、爆炸、敌机消失和存在的条件。
5.设置进入下一关的条件。
6.设计游戏结束界面显示信息及信息坐标。
7.办理游戏从头开始知足的条件。
8.装载图像。
9.对游戏进行调试和改良,使这个游戏更为完善。
【类的设计】
本程序共有七个类:
属性: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)
鼠标按键在组件上按下时调
用,从头
开始游戏,mouseClicked(MouseEvent)鼠标按键在组件上单击(按下并释放)
时调用,释放
子弹,mouseReleased(MouseEvent)鼠
标按
钮在组件上释放
时调
用,
mouseEntered(MouseEvent)鼠标进入组件上调用,
mouseExited(MouseEvent)鼠标走开组
件时
调用;
功能:游戏的开始、运行、结束与从头开始。
继承JFrame
属性:x为游戏主界面的横坐标,y为游戏主界面的纵坐标,pl为hero的子弹;方法:Game()创建游戏主界面,main(String[])主方法;功能:创建出游戏的主界面。
(大爆)
属性:x为大爆的横坐标, y为大爆的纵坐标, cont为数量,islive为hero存活;
方法:Blast(int,int)成立大爆的坐标, grow()结构方法;
功能:结构一个大爆(导弹爆炸)的类。
(爆炸)
属性:x为爆炸的横坐标, y为爆炸的纵坐标, cont为数量,islive为hero存活;
方法:Bomb(int,int)成立爆炸的坐标, grow()结构方法;
功能:结构一个爆炸(子弹击中敌机)的类。
(敌机)
属性: x为敌机的横坐标, y为敌机的纵坐标, vx敌机数组的横坐标, vy为敌机数组的纵坐标,
r为敌机横移几率, f为敌机开火几率, toleft为向左移动敌机, toright为向右移动敌机;
方法:Enemy(int,int,int,int )成立敌机的坐标,move(int)实现敌机的移动,tofire()敌机释
放子弹,hit(int,int)敌机的子弹攻击hero,hitblast(int,int)子弹产生爆炸;功能:结构一个敌机的类,实现敌机的移动。
(敌机子弹)
属性:x、y为敌机子弹的坐标, vx、vy为敌机子弹数组的坐标;
方法:move()实现敌机子弹的移动, hit(int,int)敌机子弹攻击 hero;
功能:结构一个敌机子弹的类,实现敌机子
文档评论(0)