1、学号12080202112013-2014学年 第二学期面向对象程序设计课程设计报告题目:大鱼吃小鱼专业:网络工程班级:网络工程12(2)姓名:管蔚雄指导教师:徐宁成绩:计算机与信息工程系2014年 6 月 6 日目 录第一章 设计的目的与要求.21.1设计目的.21.2设计要求.21.3实现功能.21.4界面设计.2第二章 开发平台与技术.32.1java语言.32.2greenfoot.42.3环境配置.5第3章 模块具体实现和主要动画触发.7小结.8参考文献.8附录.9大鱼吃小鱼第一章 设计目的与要求1.1 设计目的通过用greenfoot来设计“大鱼吃小鱼”这个游戏,来熟悉并学会运用g
2、reenfoot这个软件的同时巩固我们专业课java知识。1.2 设计要求1.熟悉GreenFoot平台;2.对游戏中所需类进行设计;3.写出源程序文件;4.对游戏进行调试和分析。1.3 实现功能敌方有三类鱼(鲨鱼、蓝鱼和小黄鱼),每一类鱼的对象出现后,在游戏中处于随机自由移动状态,敌方大鱼能吃小鱼;主角为红鱼且红鱼只有一条,玩家通过键盘方向键控制移动,红鱼有两级状态,初始时处于低级状态,只能吃黄鱼,能被蓝鱼或鲨鱼吃掉。初级状态的红鱼经过重重险恶且吃掉一定数量的黄鱼升级后,能吃黄鱼和蓝鱼,但还是能被鲨鱼吃。吃掉一定数量的鱼,则显示成功信息,结束游戏;若红鱼被鲨鱼或蓝鱼吃掉,则显示失败信息。1.
3、4 界面设计红鱼是主角,玩家通过键盘方向键控制移动,红鱼有两级状态:初级状态只能吃小黄鱼,会被蓝鱼和鲨鱼吃掉;吃掉20条小黄鱼后回升级即长大,能吃掉蓝鱼,但还是能被鲨鱼吃掉。红鱼升级后,吃黄鱼数量达到40,蓝鱼数量达到20,显示成功信息,结束游戏;若红鱼被鲨鱼或蓝鱼吃掉,显示失败信息。敌方大鱼能吃小鱼,即鲨鱼吃蓝鱼和黄鱼,蓝鱼吃黄鱼。第二章 开发平台和技术2.1 Java语言简单性:Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:Java的风格类似于C+,但是Java摒弃了C+中容易引发程序错误的地方,如指针和内存管理。J
4、ava提供了丰富的类库。Java自身的基本系统所占用空间小于250KB(即编译器和解释器),它实现了垃圾自动收集,简化了内存的管理工作。可靠性和安全性:Java不支持指针,这杜绝了内存的非法访问。Java的自动单元收集防止了内存丢失等动态内存分配导致的问题。Java解释器运行时实施检査,可以发现数组和宇符串访问的越界;Java提供了异常处理机制,以便从错误处理任务恢复。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进进入解释器时,首先必须经过字节码校验器的检查,然后Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独
5、的内存区域。跨平台性:面向对象:把程序实现的每一个具体功能作为类,然后用类来构成对象。优点是代码可重用、系统易扩展。多线程:通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,提高系统的运行效率。分布性:分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上;操作分布是指把一个计箅分散在不同主机上处理。它支持以上两种分布性。对于前者,Java提供了一个叫做URL的对象,利用这个对象,可以访问Internet上的所有网络资源;对于后者,Java提供的基于流套接字的网络编程接口,为实现网络的应用和Web应用提供了方便。丰富的类库和API文档2.2 GreenFootGr
6、eenfoot是由肯特大学的Michael和Martin开发的一款游戏程序设计平台,主要用于程序设计的辅助教学。它是一个功能完整的开发环境,可以方便地编写游戏和进行游戏模拟。Greenfoot也可看做是一个二维图形程序框架和集成开发环境的结合体,它支持面向对象程序设计的全部特性,特别适;合进行基于组件的可视化编程。Greenfoot具备以下几个特点:(1)可视化程序设计界面 (2)游戏案例作为项目单元 (3)良好的社区支持2.3 环境配置 开发运行环境:JDK(Java Development Kit)+文本编辑器( UltraEdit ) JDK是java开发工具包,包括java类库、jav
7、a编译器、java解释器、java运行环境和java命令行工具。IDE:集成开发工具JCreator (Xinox) JBuilder (Borland) Visual J+(MicroSoft)VisualAge for Java(IBM)NetBeans beans.orgEclipse JDK的安装安装:和一般应用程序相似,有向导指引。环境变量的设置:Path使得系统可以在任何路径下识别java命令。Classpath为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。JDK的安装路径:C:Javajdkpath路径为:C:Javajdk
8、binclasspath路径为:. ; C:JavajdklibGreenfoot安装:Greenfoot软件直接在自己的pc机上安装即可用。第3章 模块具体实现和主要动画触发涉及的类及类名本实验中world类中有一个子类sea,actor类中有十个子类,分别是主角类即红鱼类Redfish,黄鱼两个类yellowfish1与yellowfish2,蓝鱼两个类bluefish1与bluefish2,鲨鱼类shark,水泡类blister,一个计数器Counter,一个Scoreboard,一个success。各类实现的效果sea类:添加了一个红鱼的对象即主角;计数器的两个对象分别是用于计数吃掉黄
9、鱼的数量和吃掉蓝鱼的数量;黄鱼与蓝鱼在世界里处于随机出现自由移动状态;实现计数器加一的方法;游戏结束的方法;游戏成功的方法;背景音乐循环播放。Redfish类:红鱼设置四种状态,在构造方法中设置了其初始状态,然后通过if判断语句来限制它的状态;在act方法中设置了关联键盘向左移游戏动作;吃黄鱼蓝鱼动作,具体实现通过if语句控制;鱼升级及游戏成功也是在act方法中用if语句来限定。yellowfish1与yellowfish2类:黄鱼在边界消失。bluefish1与bluefish2类:蓝鱼在边界消失;在其act方法里设置了吃黄鱼,通过if语句,并调用sea类的getCount()方法,其数值小
10、于等于20情况下可以吃红鱼。shark类:鲨鱼在边界消失;在act方法中设置了吃黄鱼,蓝鱼,红鱼,并且当吃到红鱼,游戏结束,调用sea类的gameover方法。blister类:水泡在边界消失。ScoreBoard与success类:主要是绘制分数界面背景。Counter类:用于计数的类。小结此次课程设计,使我更扎实的掌握了本学期专业课java知识。当然,设计过程中遇到了一些困难和问题,实在想不出来的问同学或请教老师,终于游逆而解。课程设计体现出自己综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱之处。实践出真知,通过亲自设计,使我们掌握的知识不再是是纸上谈兵。说实话,本次课程设计花了不少时间,时间主要花在游戏设计即代码上,游戏做好后,感觉所花时间是值得的,个人对自己设计游戏较满意,虽然不是做得那么精致,还存在些许需要改进的地方,我想以后有机会继续完善它。我认为,在这次课程设计中,不仅培养了独立思考、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1