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


文档评论(0)