游戏程序设计报告.docx

上传人:聆听****声音 文档编号:1954860 上传时间:2023-05-02 格式:DOCX 页数:12 大小:173.79KB
下载 相关 举报
游戏程序设计报告.docx_第1页
第1页 / 共12页
游戏程序设计报告.docx_第2页
第2页 / 共12页
游戏程序设计报告.docx_第3页
第3页 / 共12页
游戏程序设计报告.docx_第4页
第4页 / 共12页
游戏程序设计报告.docx_第5页
第5页 / 共12页
游戏程序设计报告.docx_第6页
第6页 / 共12页
游戏程序设计报告.docx_第7页
第7页 / 共12页
游戏程序设计报告.docx_第8页
第8页 / 共12页
游戏程序设计报告.docx_第9页
第9页 / 共12页
游戏程序设计报告.docx_第10页
第10页 / 共12页
游戏程序设计报告.docx_第11页
第11页 / 共12页
游戏程序设计报告.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

游戏程序设计报告.docx

《游戏程序设计报告.docx》由会员分享,可在线阅读,更多相关《游戏程序设计报告.docx(12页珍藏版)》请在冰点文库上搜索。

游戏程序设计报告.docx

上海xxxxx

游戏程序设计

目:

小鸡历险记

号:

2008xxxx

名:

xxxx

系:

计算机与信息工程学院

专业年级:

软件工程2008级

2011年6月3日

第一章引言.................................................................. 1

1.1 研究背景 1

第二章需求分析与系统设...计......................................... 2

2.1设计目的 2

2.2设计要求 3

2.3实现功能 3

2.4界面设计 4

2.5详细设计 4

2.6结构模块 6

第三章 开发平台及开发技....术 6

3.1J2ME基础知识 6

3.2开发工具和环境搭配 6

3.2.1开发工具 6

3.2.2环境搭配 7

第四章 模块具体实现以及主要动画触..发....解....释 7

4.1key代码 7

4.2electricity代码 9

第五章 心得体会 11

3

第一章引言

1.1 研究背景

Greenfoot是针对那些想让自己熟悉如何使用JAVA的人而设计的,是一个功能完整的开发环境,可以使用Java方便地编写游戏和进行模拟。

它还可以被用来作为Java语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户,而不仅仅是初学者。

最主要的是Greenfoot和BlueJ系统一样,对任何用途

都是免费的。

这个系统以及它的文档可以重新发布而不需要任何费用,为使用和学习JAVA的朋友提供了一个很好的环境。

Greenfoot可以认为是一个用java语言创建二维图形程序的框架和IDE的结合体,很适合初学者使用。

Greenfoot支持java的全部特性,它特别适合练习可视化组件的编程。

在Greenfoot中,对象的可视化和对象的交互性是关键。

在Greenfoot的帮助之下一些软件游戏的开发变得很简单。

我这次开发的是一款益智类的游戏。

我希望通过自己的所学知识把它剖析开来,真正的了解它的本质和精髓。

虽然我的编程能力不是很强,但是我有信心,在这次学习中我将从实践和实际的项目中提高自己的编程能力。

第二章需求分析与系统设计

2.1设计目的

通过本学期对游戏程序的研究,我们掌握了运用 greenfoot来制作游戏的技术,虽然不娴熟还有待提高,但是一些技术含量较低的小游戏还是很容易让我们掌握的。

此次游戏程序设计的目的,主要是通过greenfoot来制作游戏来更好的掌握java语言。

通过greenfoot这个平台,熟习greenfoot在制作游戏方面所需要的技巧,将自己的游戏尽可能多的运用所学到的技术,并且将在

平时java课程上面学到的知识付诸于实践,并从实际操作中,找出自己的不足之处进行弥补。

每一次的课程设计,都是一次小小的软件工程,所以需要我们用百分百的的态度来对待。

对于小一点的程序,我们一个人足以应付,但是这并不是说我们可以单独一个人为所欲为,其实质应该是通过课程设计来锻炼自己独立自主的能力。

而对于那些相对于麻烦的程序,就需要两个或者多个人来共同完成,这便需要他们的协作能力,这样对他们以后进入软件公司发展有了更多的基础。

2.2设计要求

这次课程设计的要求并不像以往那么紧,老师让我们可以通过多个平台和系统来制作游戏,包括电脑游戏和手机游戏,从 sun公司的手机开发平台WTK,到谷歌的安卓操作系统,只要我们喜好哪一个,并有能力完成就可

以了。

所以,这次我选择了greenfoot作为我游戏编程的平台。

因为我平时学习的就是java语言,而greenfoot便是一个已Java语言为基础的游戏

开发平台,所以,在编程的过程中不仅提高了效率,也让我对 java语言和greenfoot之间衔接的关系有了更深了理解,同样,也让我更加熟习了这个游戏开发平台的环境。

2.3实现功能

此次我的课程设计的游戏名称为:

“小鸡历险记”。

通过名字,我们就可以看出,这是一个益智类的游戏。

它的由来,是我根据超级玛丽的灵感而生的。

超级玛丽这个游戏就是一个结合控制和脑力与一体的游戏,充分缓解玩家的心情,让玩家在娱乐中找到成功。

我的这游戏,玩家控制的便是一个类似于超级玛丽的一个任务,他是以一个小鸡的模型组成的,具有一定的生命值,一般都为3。

接下来便是像超级玛丽这个游戏一样,在游戏中会出现一些移动的物体和火球,这些便是敌人,玩家要按上、下、左、右,控制小鸡的方向。

如果躲闪不及时,便回减去一滴血,从而生命值便会减一个。

随着关数的增加,过关的难度也会随之增加。

这个游戏的特别之处:

①:

可以选择不同的难度来挑战相同的关卡,以次增加游戏的可玩性;

②:

没有死亡模式,这样可以让玩家通过多次的尝试之后来完成任务。

③:

有BOSS模式,玩家可以尝试击败BOSS来进入下一个关卡,增加游戏的可玩性。

2.4界面设计

这个程序是一个益智类的游戏,包括躲避敌人、杀死敌人。

是一个单机游戏,同一时刻只能有一位玩家进行游戏。

如图1

4

2.5详细设计

系统流程图:

游戏开局出现如图1,然后进行难度的选择,再是关卡的选择,然后就可以游戏了,如果失败那就继续游戏,直到成功为止。

如果一直没有成功,上诉循环过程。

虽然是一直循环下去的,但是只要修改一下程序就可以修改。

9

2.6结构模块

第三章 开发平台及开发技术

3.1J2ME基础知识

Greenfoot是针对那些想让自己熟悉如何使用JAVA的人而设计的是一个功能完整的开发环境,可以使用Java方便地编写游戏和进行模拟。

它还可以被用来作为Java语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户,而不仅仅是初学者

最主要的是Greenfoot和BlueJ系统一样,对任何用途都是免费的。

这个系统以及它的文档可以重新发布而不需要任何费用 ,为使用和学习JAVA的朋友提供了一个很好的环境.

3.2开发工具和环境搭配

3.2.1开发工具

Greenfoot可以认为是一个用java语言创建二维图形程序的框架和IDE

的结合体,很适合初学者使用。

Greenfoot支持java的全部特性,它特别适

合练习可视化组件的编程。

在Greenfoot中,对象的可视化和对象的交互性是关键。

如果你知道BlueJ和Microworld这两个框架的话,Greenfoot可以看作他们的结合。

这个框架可以用来实现基于二维网格的很多程序。

greenfoot的框架负责两部分工作:

简便的产生对象的图形化显示,按照模拟的路线运行。

为了实现这些功能,Greenfoot框架提供了一个GreenfootObject基类,其他任何想实现可视化的类都要继承他。

必须执行的两个最重要的方法是:

getImage()返回对象的图形,act()将在模拟路线中调用。

3.2.2环境搭配

(1) 计算机的环境变量需要设置,计算机需要安装JDK版本为1.6。

由于GREENFOOT需要绑定JDK。

(2) GreenFoot的安装,需要到官网上下载正确的GreenFoot版本,安装后需要测试时候可以使用,是否与JDK绑定。

第四章 模块具体实现以及主要动画触发解释

4.1key代码

publicclasskeyextendsActor

{

booleanbpickedup=false;booleanbremoved=false;privatemyWorldmworld;

publicvoidaddedToWorld(Worldworld){mworld=(myWorld)world;

}

publicvoidact()

{

if(bremoved){return;}findplayer();picked();

}

privatevoidfindplayer()

{

if(bpickedup){return;}//ifitsalreadypickedupthendontbotherplayerneb=(player)getOneIntersectingObject(player.class);

if(neb!

=null)

{

Greenfoot.playSound("keycollect.wav");bpickedup=true;

}

}

privatevoidfindenemy()

{

getOneObjectAtOffset(0,8,enemy.class);

enemymutantleg=(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.wav");

getWorld().addObject(neweffect(),mutantleg.getX(),mutantleg.getY()-

}

介绍Key这个类:

首先这个类必须是继承Actor这个父类的,然后是Finddoor这个方法,先是一个判断:

如果有Key则开门,反之则不开门,有Key方可进入下一关卡。

玩家必须拿到钥匙之后方可进入下一个关卡。

4.2electricity代码

publicclasselectricityextendshazard

{

booleanbRemoved=false;floatxs,ys;

inthealth=22;floatxx,yy;

publicelectricity(booleannoeffect)

{

xs= 0.1f*(float)(Greenfoot.getRandomNumber(16)-Greenfoot.getRandomNumber(16));

ys=0.1f*(float)(Greenfoot.getRandomNumber(16)-Greenfoot.getRandomNumber(16));

health=13;

}

publicelectricity()

{

xs= 0.1f*(float)(Greenfoot.getRandomNumber(40)-Greenfoot.getRandomNumber(40));

ys=0.1f*(float)(Greenfoot.getRandomNumber(40)-Greenfoot.getRandomNumber(40));

}

publicvoidaddedToWorld(Worldworld){yy=getY();

xx=getX();

}

publicvoidact()

{

if(bRemoved){return;}huntplayer();

xx+=xs;yy+=ys;

setLocation((int)xx,(int)yy);setRotation(Greenfoot.getRandomNumber(360));health--;

if(health<=0){removeme();}

}

privatevoidremoveme()

{

if(bRemoved){return;}bRemoved=true;getWorld().removeObject(this);

}

}

10

敌人自动寻找玩家,进行一些无规则的运动,如在攻击范围之内就会触发electric这个类,敌人就会变化成后者这个形态,玩家要做的就是远离敌人攻击状态。

第五章 心得体会

通过一个学期对greenfoot的学习,我基本掌握了greenfoot的比较基础的编程方法。

因为greenfoot是已java语言为基础的游戏制作平台,其所有的语言标准和java的没有什么本质的不同,所以,通过以往对java的学习和认识,真正的操作起来,并不是很难着手。

只要看了老师以前

给的那些视频,我觉得greenfoot这个软件还是很容易上手的,甚至在某些方面还比myeclipse还容易一点。

至少在greenfoot里面,有的类或者对象,你可以直接拖动,不用在生成和调用了。

看似简单的益智游戏背后,确实异常复杂的算法。

在网上参考了类似的逻辑算法和代码,也是各有不同,让我更认识到了自身学习的不足之处,也更进一步产生了对游戏开发的兴趣。

受益匪浅,感悟颇多。

游戏开发是一个创新的过程,由于能力欠缺,做了一个众所周知的项目。

此次开发主要运用了画布的知识,在实践中掌握技术,灵活运用。

另外在请教游戏开发者的过程中有所启发,修改了触屏模式,使得用户操作更为方便。

11

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2