课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现
Posted feng886779
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现相关的知识,希望对你有一定的参考价值。
课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现
一、任务简介
1.1 任务内容
捕鱼游戏这个项目是一个娱乐性的游戏开发,该游戏可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的欢迎。本次游戏的程序设计包含,java swing组件的合理运用,还有图像的变动达到一个动态的动画效果,线程的运用,游戏的异常处理,等方面的知识。培养学生运用所学知识的基础理论、基本知识和基本技能,分析解决实际问题能力的一个重要环节。它与课堂教学环节彼此配合,相辅相成,在某种程度上是课堂学习的继续、深化和检验。它的实践性和综合性是其它教学环节所不能代替的。课程设计能使学生受到必需的综合训练,在不同程度上提高各种能力。
通过课程设计,使学生熟练掌握Java语言课程中所学的理论知识,通过综合Java语言的基本知识来解决实际问题,加强学生分析和解决问题的能力。
1.2 任务要求
- 游戏能够通过ARM实验箱实现相应的功能。
- 具体要求:
(1) 调整大炮:根据上下按钮来调整大炮的等级;
(2) 发射炮弹:点击屏幕,来发射一枚炮弹,每发射一枚炮弹会扣除和大炮等级相应的金币数;
(3) 捕鱼:当炮弹打中一条鱼的时候张网捕鱼;
(4) 捞金:每当捕捉到一条鱼时,可以获得相应的金币;
(5) 金币补偿:当金币没有时,每隔3分钟会补充到100金币;
(6) 在线更新:可以在网上更新下载新的内容。
二、系统设计
2.1游戏设计流程分析
游戏启动后,加载游戏,游戏界面成功打开后可以点击鼠标,控制炮台发射的方向,消耗金币发射子弹,子弹碰到鱼之后会变成渔网,根据代码中设计的算法通过鱼的可击落概率和子弹的威力判断鱼是否被击落(当然,这是随机的),如果没有击杀鱼,鱼继续游动,如果击杀了鱼,会触发被击落程序,鱼会抽到并消失,返回这条鱼该回报的金币。当计时器为0时,如果金币数小于100了,就会将玩家的金币数补到100。只要有足够的金币可以发射炮弹,玩家可以不停的发射炮弹。游戏流程如图:
2.2所有功能实现类(接口)的简介
- 如下类:
main
方法在类AwtMainComponet
里面,main
方法里设置了窗口参数和鼠标监听器。Constant
:常量类,里面有游戏中运用到的常量。MainSurface
:绘制图层类,图层的绘制就是在该类中实现的。CannonManager
:大炮管理器类,大炮的所有属性以及该有的方法。CatchFishManager
:捕捉管理器类,类中是鱼的捕捉方法。FishManager
:鱼管理器类,类中解析了鱼的配置信息,管理着鱼的动作等信息。GameInitManager
:游戏初始化管理器类,类中有游戏的初始化方法。HeadFish
:领头鱼类,领头鱼是一种虚拟的鱼,其实就是把一群鱼模拟成一个对象。ImageConfig
:图片的配置信息类,类中有图片的细节信息。ImageManager
:图片管理器类,根据解析文件获取图片。Bitmap
:图片信息类。LayoutManager
:布局管理器,在类中有大炮底座类,提高降低大炮按钮,计分板计时板的设计。MusicManager
:音乐管理器,管理游戏的背景音乐。ParticleEffectManager
:粒子管理器,类中管理游戏的粒子效果。PathManager
:鱼路径管理器,类中管理鱼的路径。ScoreManager
:得分管理器,类中管理如何得分。ShoalManager
:鱼群管理器类,类中管理鱼群的方法。SoundManager
:音效管理器,类中管理游戏的音效。Ammo
:子弹类,类中管理子弹的属性。AmmoParticleEffect
:子弹粒子效果,类中写了子弹粒子效果的实现。BackGround
:背景类,类中设计了游戏的背景。FishGold
:显示捕捉到鱼后显示的金币数量。FishInfo
:某一种鱼的细节配置信息类。FishingNet
:鱼网类,类中是渔网的属性和方法。GamingInfo
:游戏进行中需要共同用到的一些变量。Gold
:金币类,类中是金币的属性和方法。GoldParticleEffect
:金币粒子效果,类中是金币的粒子效果属性。HighPoint
:高分显示类,当获取高分时游戏的显示。HundredPoint
:百分显示,当获取百分时游戏的显示。LoadProgress
:加载进度条,类中设计了加载进度条。NetParticleEffect
:渔网粒子效果,类中配置渔网粒子效果。WaterRipple
:水波纹类,水波纹的属性方法。Bottom
:大炮底座类,类中设计大炮的底座。BottomGold
:金币显示组件,显示金币。BottomTime
:时间显示组件,显示时间。ButtonAdapter
:按钮,大炮的按钮属性及方法。Cannon
:定义所有大炮的模拟类,设计了发射大炮的动作。ChangeCannonEffect
:设计了更换大炮时的变换效果。Componet
:组件的父类,有设计组件的坐标的方法。DownCannonButtonListener
:降低大炮质量的按钮逻辑。UpCannonButtonListener
:提升大炮质量的按钮逻辑。Fish
:鱼类,设计鱼的所有属性和方法,如鱼的动作和捕捉方法。Button
:按钮的接口,有是否可用和当按钮被点击的方法。Drawable
:图片的接口,可获取图片的宽高的方法。OnClickListener
:单机事件的接口,单机时的方法。FishRunThread
:鱼游动进程,设计了鱼游动的方法。PicActThread
:控制鱼的动作的进程,设计了播放了鱼所有动作的方法。ShotThread
:射击进程,设计了发射子弹的方法。CircleRectangleIntersect
:圆与矩形碰撞检测类(鱼是矩形,网是圆)。Tool
:获取目标与源之间的角度,判断击落与否。
上述的所有类的共同合作才完成了捕鱼达人游戏的开发。2.3 功能模块
- 分别有:鱼的模块,渔网的模块,鱼池的模块,游戏的模块,每一个模块相当于一个类。
- 鱼模块:主要实现鱼图片的加载,鱼游动效果,鱼游动,还有鱼的一些基本属性,比如鱼的坐标,大小,还有血量值。一些基本方法,鱼的构造方法。
- 渔网模块:主要实现渔网图片的加载,渔网的属性有坐标,大小的宽和高,还有渔网的power值,渔网中还有一个改变渔网大小的方法。
- 鱼池模块:将鱼类的对象,网类的对象都在本类中进行调用,并将相应对象的图片显示出来,并将游戏的背景‘画’出来。
- 游戏启动模块:将加载游戏图片加载进来。
以上是关于课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现的主要内容,如果未能解决你的问题,请参考以下文章