没有合适的资源?快使用搜索试试~ 我知道了~
Java课程设计小游戏.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 54 浏览量
2022-06-10
18:19:22
上传
评论
收藏 280KB DOC 举报
温馨提示
试读
29页
Java课程设计小游戏
资源推荐
资源详情
资源评论
《高级语言程序设计》课程设计报告
1、 程序设计说明书
【设计题目】
雷霆行动游戏程序
【问题描述】
雷霆行动是一款供大家休闲娱乐的小游戏,游戏通过鼠标控制我方飞机 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)子弹产生爆炸;
功能:构造一个敌机的类,实现敌机的移动。
6.EnemyBullet(敌机子弹)
属性:x、y 为敌机子弹的坐标,vx、vy 为敌机子弹数组的坐标;
方法:move()实现敌机子弹的移动,hit(int,int)敌机子弹攻击 hero;
功能:构造一个敌机子弹的类,实现敌机子弹的移动和攻击。
7.PlayerBullet(hero 子弹)
属性:x、y 为 hero 子弹的坐标,v 为 hero 子弹的速度;
方法:move()实现 hero 子弹的移动,hit(int,int)hero 子弹攻击敌机;
功能:构造一个 hero 子弹的类,实现 hero 子弹的移动和攻击。
【用户界面】
游戏开始界面
游戏进行中界面
游戏结束界面
【程序技巧】
1.建立一个主类,其余六个类均通过这个主类来调用
2.响应鼠标事件
3.用户界面采用图形用户界面
4.利用媒体跟踪器监测图像的装载
5.无效的子弹和被摧毁的敌机能及时处理,未被摧毁的敌机与子弹可以保留
6.游戏失败可以重新开始
【模块划分及调用关系】
Game : 游
戏 主 界 面模
块
MainPanel :游
戏 主 要 运 行 步
骤模块
Blast : 大 爆
(导弹爆炸)
模块
Bomb : 爆 炸
(子弹击中)模
块
Enemy :
敌机模块
EnemyBullet :
敌军子弹模块
PlayerBullet :
hero 子弹模块
剩余28页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功