1、第一章引言.11.1研究背景1第二章需求分析与系统设.计.22.1 设计目的22.2 设计要求32.3 实现功能32.4 界面设计42.5 详细设计42.6 结构模块6第三章开发平台及开发技.术63.1 J2ME 基础知识63.2 开发工具和环境搭配63.2.1 开发工具63.2.2 环境搭配7第四章模块具体实现以及主要动画触.发.解.释74.1 key 代码74.2 electricity 代码9第五章心得体会113第一章 引言1.1研究背景Green foot 是针对那些想让自己熟悉如何使用JAVA 的人而设计的,是一个功能完整的开发环境,可以使用Java 方便地编写游戏和进行模拟。它还可
2、以被用来作为 Java 语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户, 而不仅仅是初学者。最主要的是Green foot 和 BlueJ 系统一样,对任何用途都是免费的。这个系统以及它的文档可以重新发布而不需要任何费用,为使用 和学习 JAVA 的朋友提供了一个很好的环境。Greenfoot 可以认为是一个用java 语言创建二维图形程序的框架和IDE 的结合体,很适合初学者使用。Greenfoot 支持 java 的全部特性,它特别适合练习可视化组件的编程。在Greenfoot 中,对象的可视化和对象的交互性是关键。在 Greenfoot 的帮助之下一些软件游戏的开发变得很简单。
3、我这次开发的是一款益智类的游戏。 我希望通过自己的所学知识把它剖析开来,真正的了解它的本质和精髓。虽然我的编程能力不是很强,但是我有信心,在这次学 习中我将从实践和实际的项目中提高自己的编程能力。第二章 需求分析与系统设计2.1 设计目的通过本学期对游戏程序的研究,我们掌握了运用greenfoot 来制作游戏的技术,虽然不娴熟还有待提高,但是一些技术含量较低的小游戏还是很容易让我们掌握的。此次游戏程序设计的目的,主要是通过 greenfoot 来制作游戏来更好的掌握 java 语言。通过 greenfoot 这个平台,熟习 greenfoot 在制作游戏方面所需要的技巧,将自己的游戏尽可能多的
4、运用所学到的技术,并且将在平时 java 课程上面学到的知识付诸于实践,并从实际操作中,找出自己的不足之处进行弥补。每一次的课程设计,都是一次小小的软件工程,所以需要我们用百分百 的的态度来对待。对于小一点的程序,我们一个人足以应付,但是这并不是说我们可以单独一个人为所欲为,其实质应该是通过课程设计来锻炼自己独立自主的能力。而对于那些相对于麻烦的程序,就需要两个或者多个人来共同完成,这便需要他们的协作能力,这样对他们以后进入软件公司发展有了更多的基础。2.2 设计要求这次课程设计的要求并不像以往那么紧,老师让我们可以通过多个平台和系统来制作游戏,包括电脑游戏和手机游戏,从sun 公司的手机开发
5、平台 WTK,到谷歌的安卓操作系统,只要我们喜好哪一个,并有能力完成就可以了。所以,这次我选择了 greenfoot 作为我游戏编程的平台。因为我平时学习的就是 java 语言,而 greenfoot 便是一个已 Java 语言为基础的游戏开发平台,所以,在编程的过程中不仅提高了效率,也让我对java 语言和greenfoot 之间衔接的关系有了更深了理解,同样,也让我更加熟习了这个游戏开发平台的环境。2.3 实现功能此次我的课程设计的游戏名称为:“小鸡历险记 ”。通过名字,我们就可以看出,这是一个益智类的游戏。它的由来,是我根据超级玛丽的灵感而生的。超级玛丽这个游戏就是一个结合控制和脑力与一
6、体的游戏,充分缓解玩 家的心情,让玩家在娱乐中找到成功。我的这游戏,玩家控制的便是一个类似于超级玛丽的一个任务,他是以一个小鸡的模型组成的,具有一定的生命值,一般都为 3。接下来便是像超级玛丽这个游戏一样,在游戏中会出现一些移动的物体 和火球,这些便是敌人,玩家要按上、下、左、右,控制小鸡的方向。如果躲闪不及时,便回减去一滴血,从而生命值便会减一个。随着关数的增加, 过关的难度也会随之增加。这个游戏的特别之处:可以选择不同的难度来挑战相同的关卡,以次增加游戏的可玩性;:没有死亡模式,这样可以让玩家通过多次的尝试之后来完成任务。:有 BOSS 模式,玩家可以尝试击败 BOSS 来进入下一个关卡,
7、增加游戏的可玩性。2.4 界面设计这个程序是一个益智类的游戏,包括躲避敌人、杀死敌人。是一个单机 游戏,同一时刻只能有一位玩家进行游戏。如图 142.5 详细设计系统流程图:游戏开局出现如图1,然后进行难度的选择,再是关卡的选择,然后就可 以游戏了,如果失败那就继续游戏,直到成功为止。如果一直没有成功,上诉 循环过程。虽然是一直循环下去的,但是只要修改一下程序就可以修改。92.6 结构模块第三章开发平台及开发技术3.1 J2ME 基础知识Green foot 是针对那些想让自己熟悉如何使用 JAVA 的人而设计的 是一个功能完整的开发环境,可以使用 Java 方便地编写游戏和进行模拟。它还可以
8、被用来作为 Java 语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户,而不仅仅是初学者最主要的是 Green foot 和 BlueJ 系统一样,对任何用途都是免费的。这个系统以及它的文档可以重新发布而不需要任何费用,为使用和学习JAVA 的朋友提供了一个很好的环境 .3.2 开发工具和环境搭配3.2.1 开发工具Greenfoot 可以认为是一个用 java 语言创建二维图形程序的框架和 IDE的结合体,很适合初学者使用。 Greenfoot 支持 java 的全部特性,它特别适合练习可视化组件的编程。在 Greenfoot 中,对象的可视化和对象的交互性是关键。如果你知道 Blu
9、eJ 和 Microworld 这两个框架的话, Greenfoot 可以看作他们的结合。这个框架可以用来实现基于二维网格的很多程序。 greenfoot 的框架负责两部分工作:简便的产生对象的图形化显示,按照模拟的路线运行。为了实现这些功能, Greenfoot 框架提供了一个 GreenfootObject 基类,其他任何想实现可视化的类都要继承他。必须执行的两个最重要的方法是: getImage() 返回对象的图形, act() 将在模拟路线中调用。3.2.2 环境搭配(1) 计算机的环境变量需要设置,计算机需要安装JDK 版本为 1.6。由于GREEN FOOT 需要绑定JDK。(2)
10、 Green Foot 的安装,需要到官网上下载正确的Green Foot 版本,安装后需要测试时候可以使用,是否与JDK 绑定。第四章模块具体实现以及主要动画触发解释4.1 key 代码public class key extends Actorboolean bpickedup = false; boolean bremoved = false; private myWorld mworld;public void addedToWorld(World world) mworld = (myWorld) world;public void act()if (bremoved) return
11、; findplayer(); picked();private void findplayer()if (bpickedup) return; /if its already picked up then dont bother player neb = (player) getOneIntersectingObject(player.class);if (neb != null)Greenfoot.playSound(keycollect.wav); bpickedup = true;private void findenemy()getOneObjectAtOffset(0,8,enem
12、y.class);enemy mutantleg = (enemy) getOneIntersectingObject(enemy.class); if (mutantleg != null& mutantleg.health 1 !mutantleg.bKnockedOut mutantleg.canbeattacked()8);mutantleg.health = 1;mutantleg.ys = -3; mutantleg.knockmeout(); Greenfoot.playSound(kick.wavgetWorld().addObject(new effect(), mutant
13、leg.getX(),mutantleg.getY()-介绍 Key 这个类:首先这个类必须是继承Actor 这个父类的,然后是Finddoor 这个方法,先是一个判断:如果有Key 则开门,反之则不开门,有Key 方可进入下一关卡。玩家必须拿到钥匙之后方可进入下一个关卡。4.2 electricity 代码public class electricity extends hazardboolean bRemoved = false; float xs, ys;int health = 22; float xx, yy;public electricity(boolean noeffect)xs =0.1f * (float) (Greenfoot.getRandomNumber(16)- Greenfoot.getRandomNumber(16) );ys = 0.1f * (float) (Greenfoot.getRandomNumber(16)- Greenfoot.getRandomNumber(16) );health = 13;public electricity()xs =0.1f * (float) (Greenfoot
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1