马里奥游戏设计报告样本.docx
- 文档编号:24806561
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:28
- 大小:2.69MB
马里奥游戏设计报告样本.docx
《马里奥游戏设计报告样本.docx》由会员分享,可在线阅读,更多相关《马里奥游戏设计报告样本.docx(28页珍藏版)》请在冰豆网上搜索。
马里奥游戏设计报告样本
综合课程设计报告
题目:
马里奥游戏
班级:
xxxxxxxx
姓名:
xxxxxxxxx
学号:
xxxxxxxxx
指引教师:
xxxx
完毕日期:
xx年xx月xx日
一、设计内容
程序面向对象设计:
马里奥对象,敌人对象,障碍物对象,场景对象,窗体对象,图片以及音乐对象等等。
欧阳茂:
1)游戏操作:
玩家操作游戏办法
2)障碍物开发:
开发游戏中障碍物
3)马里奥主角开发:
开发马里奥主角
4)马里奥与障碍物:
开发马里奥遇到障碍物不同状态
5)敌人开发:
不同敌人类开发,涉及三角怪,食人花
6)敌人与马里奥:
马里奥遇到不同敌人状态
刘金凤:
1)美工设计:
图片美化,游戏体验度
2)窗体类设计:
将游戏显示到界面
3)开发游戏场景:
开发游戏背景或者游戏环境
4)通关开发:
马里奥通过当迈进入下一种通关
5)其她:
计分,生命,音乐,时间设定
二、设计目的
开始游戏时,Mario会有3条生命,消灭敌人或顶某些物品可以得到分数,每到500分会增长一条生命,如果Mario被敌人杀死或是掉下悬崖,会失去一条生命,并从该版面重新开始游戏,如果Mario生命数为0,则游戏结束,返回标题画面重新开始游戏。
设计中基本规定:
1)完毕游戏人物基本动作,上下左右,跳跃等
2)完毕障碍物和敌人类操作以及不同设定
3)完毕通关以及每一种关障碍物和场景都不同样
4)完毕游戏人物声明和加分问题
5)完毕游戏时间设定,游戏开始和结束
设计中更高规定:
1)游戏运营流畅,顾客体验好
2)游戏尽量考虑内存资源合理运用
3)游戏画面美观,不同通关难以限度不同
4)游戏可以具备足够吸引力
三、需求分析
游戏行业火爆近十年,特别是网络游戏势头非常猛,已经成为诸近年轻人不可或缺娱乐工具。
据报告指出,游戏行业市场已经是咱们最有活力行业,互联网和宽带普及也进一步加快了游戏行业发展。
特别是,随着4g到来,相信游戏行业将进一步加快发展。
中华人民共和国网络游戏打增势不减,市场巨大:
在中华人民共和国,每年新增网民超过5000w,市场巨大。
专家以为,网络游戏定位于大众化娱乐,收费低廉,内容丰富,有助于缓和人们由于工作学习紧张或者经济不景气导致心理压力。
此外,咱们游戏行业上市公司或者拟上市公司,资金充分。
由此来看,游戏行业必然会在将来更加突破。
预测细分市场份额占比仍将保持在70%左右,但是由于端游市场处在高位滞涨状态,增速缓慢,并且还受到页游和移动端游迅速发展所带来冲击,此后端游市场份额将进一步被缩小。
而随着游戏娱乐时间碎片化价值不断提高,某些方略、益智、休闲类轻游戏同样吸引了大量可支配游戏时间相对较少,但付费能力较强上班族玩家青睐,这也为网页游戏发展提供了强劲增长动力,某些老式端游公司甚至其她互联网公司纷纷进入网页游戏市场。
hSn中华人民共和国行业征询网_行业报告_行业分析_市场调研_第三方市场数据提供商
hSn中华人民共和国行业征询网_行业报告_行业分析_市场调研_第三方市场数据提供商
在移动游戏方面,由于行业进入门槛较低,移动游戏生命周期较短,这就为许多创业型中小公司迅速壮大提供了辽阔前景和机遇。
随着,移动端游戏质量品质不断提高,移动端游戏市场成长即将进入迅速上升通道。
将来,页游和端游细分市场份额占比将逐年扩大。
hSn中华人民共和国行业征询网_行业报告_行业分析_市场调研_第三方市场数据提供商hSn中华人民共和国行业征询网_行业报告_行业分析_市场调研_第三方市场数据提供商
第一季度中华人民共和国移动游戏市场规模达到24.3亿元,环比增长率为9.3%;其中智能机移动游戏市场规模为7.9亿元,环比增长率为20.9%。
在移动单机游戏方面,市场上重要还是以休闲类、棋牌类游戏为主,游戏画面质量在不断提高,将来将会有更多制作精良单机大作浮现;在移动网络游戏方面,《我叫MTOnline》、《大掌门》等卡牌类移动网络游戏受到市场高度关注,社交竞技元素吸引了大批顾客,智能机移动网游在也许迎来大爆发。
hSn中华人民共和国行业征询网_行业报告_行业分析_市场调研_第三方市场数据提供商
如下为记录数据:
图1同类游戏下载量
图2上半年销售额增长率
图3游戏行业细分段
图4游戏行业规模增长数据
图5玩家群
图6同类游戏下载量2
四、设计思想
4.1程序面向对象设计
马里奥对象,敌人对象,障碍物对象,场景对象,窗体对象,图片以及音乐对象
如下:
图7完整马里奥图
重要类:
图8重要设计类
重要完毕功能:
图9重要功能模块
4.2窗体设计
窗体是马里奥游戏重要界面,其设计重要涉及重要界面大小,及位置选取。
标题,布局等界面属性方面内容。
其中窗体设计中有一种重要静态属性设计,即把游戏中图片进行静态初始化,其设计类为:
(MyFrame)。
将游戏中主角:
马里奥图片,场景以及背景图片,敌人食人花,敌人三角怪,障碍物,等需要图片进行属性保存,通过io流保存到集合中。
以以便取出来,保存到类中(staticValue)。
图10初始窗体图
4.3开发游戏场景
场景是马里奥游戏之中最难控制一块内容,由于一种马里奥游戏里面有各种通关,并且每一次通过,里面敌人和障碍物等位置都是不同样。
游戏设计越复杂,那么场景控制就越难。
本次场景通过一种场景类(background)完毕,设计重要涉及:
属性设计:
1)背景图片设计,即每一种场景背景图片
2)int类型保存场景所在位置(场景顺序)
3)Boolean类型判断当前场景与否为最后一种场景,如果是最后一种场景,那么结束后游戏结束
4)场景中障碍物和敌人,使用两个集合来进行保存。
一种集合保存已经消灭敌人和障碍物,另一种集合保存未被消灭敌人和障碍物
行为设计:
1)将所有属性进行初始化,涉及背景图片,场景顺序,标志。
(构造办法中初始化)
2)敌人和障碍物依照游戏状态(是人物完全死亡,还是暂时死亡)操作死亡集合或者生存集合(新建立一种重置办法)
4.4障碍物开发
障碍物是游戏中问号,砖块,绿色框某些,其为马里奥游戏中重要构成某些
包括属性:
1)障碍物在场景中坐标(x,y)
2)显示图片
3)类型(不同障碍物)
4)初始类型(即障碍物初始状态,与遇到马里奥之后状态相对)
行为办法:
1)重置障碍物办法(即当马里奥死亡之后,但生命次数尚未完全用完,那么当马里奥重生时候,需要要将障碍物和敌人重置)
2)当障碍物遇到马里奥时,变化相应图片
3)初始化障碍物信息构造办法
4.5将障碍物添加到场景中去
障碍物类(obstruction)中拥有障碍物属性,而场景(background)中障碍物和敌人,使用两个集合来进行保存。
因而可以通过集合来保存各个障碍物在场景中位置和状态。
例如:
添加一张北京图片到场景之中,将砖块,问号,绿皮按照障碍物位置放到相应位置中去。
固然,场景类应当判断当前场景是属于第一种场景还是其她场景,而初始化不同障碍物位置。
绘图类(Maframe)重要用于图像显示,将场景中一切障碍物绘制到界面上去。
因而保存有一种场景(background)类一种对象。
通过这个对象通过paint办法绘制到窗口中去。
其中:
背景图片从坐标(0,0)开始绘制并布满整个屏幕,而其她障碍物通过获得北京中坐标(x,y)来获得绘制位置。
如下图(红色某些均为障碍物)
图11:
障碍物添加到场景图
4.6马里奥主角开发
1)马里奥主角开发,事实上与障碍物开发类似,也是创立一种对象(mario)作为操作马里奥对象,并且马里奥与图片同样也有相应某些属性和办法。
最基本有
2)属性:
坐标(X,Y)
移动速度(xmove,ymove)
跳跃速度(jump,down)
跳跃时间
马里奥人物图片
马里奥状态(这个指马里奥处在向左,向右或者是跳跃状态)
马里奥移动速度属性(默以为0,当移动时候变化速度)
马里奥生命次数
分数
3)办法:
移动(向左,向右)
停止(向左,向右)
跳跃(在地面或者障碍物上面可以跳跃,否则不能跳跃)
4)跳跃马里奥状态解决:
马里奥跳跃时候分为两种状况,一种是点击跳跃键在空中,一种是离开障碍物掉落到空中。
在这里考虑因素诸多,在跳跃时候可以进行向左或者向右方向控制,但是当已经在空中时候却不能再进行控制跳跃问题了,并且在跳跃过程中尚有有关马里奥图片切换。
4)其她解决:
马里奥是一种动态角色,因而在她移动或者停止时候,都应当有不同状态,即有不同图片与之相应。
并且要区别是向左还是向右。
图12马里奥状态图
4.7将马里奥对象加入到窗体之中
1)和障碍物添加类似,将马里奥绘制到窗体之中,但是由于马里奥是动态,因而需要添加两个线程,如下:
2)添加线程一:
由于马里奥移动时候也许是始终进行,(mario)类必要实现一种线程专门为马里奥这个角色服务,始终变化马里奥坐标。
3)添加线程二:
马里奥角色状态在始终变化,因而需要同步刷新,即同步变化马里奥在窗体中图片。
图13怪物与障碍物
4.8将马里奥角色与障碍物进行设立
1)障碍物(obstruction)与马里奥(mario)关系是,都是在场景之中,因而要设立马里奥与障碍物之间联系与冲突就必要使用场景来作为中间桥梁。
因而,在马里奥(mario)对象之中创立一种场景属性,以便于操作场景中障碍物与马里奥之间关系。
2)横向阻挡:
障碍物与马里奥之间冲突和联系重要是使用坐标来进行设立,解释为:
当马里奥处在哪个区域可以活动,处在哪个区域不可以活动。
(遇到障碍物和在边界时移动都会受到限制)
3)纵向阻挡:
在地面或者障碍物上面可以跳跃,否则不能跳跃。
因而在纵向马里奥依然有一种活动范畴。
4)当马里奥越到障碍物时候,障碍物响应状态变化问题。
例如:
当从下往上撞到问号时,那么问号则变为铁块,而以这种方式撞到砖块时候,砖块消失。
这里也涉及到障碍物与马里奥活动范畴问题。
4.9切换场景:
当马里奥移动到屏幕最右端,需要将当前场景,切换为下一种场景。
绘制各个场景。
当马里奥移动到最右端时候,就及时进行场景切换。
4.10敌人开发:
1)马里奥游戏中有各种不同敌人,并且各种敌人移动方式和移动范畴均有不同,因而在定义敌人类时候也需要一定属性和办法,如下:
2)属性:
坐标:
(x,y)
初始坐标:
(x,y)
类型:
即敌人类型
显示图片:
敌人类图片
移动方向:
不同敌人有不同移动方向
最大移动坐标:
敌人移动范畴
3)行为:
重置办法:
当重置场景时候。
(就是对场景中两种结合删除,添加操作)
死亡:
地人类被消灭
线程:
同马里奥同样,也需要实现一种单独线程来实现敌人类行为。
但是与马里奥不同是敌人移动是在固定位置进行移动,不需要添加上下左右行为,而是自动进行移动操作。
图14马里奥与敌人
4.11敌人放到场景之中:
1)将敌人类添加到相应场景(background)之中,即将各种敌人放到(background)敌人类集合之中。
同步在(mainframe)中通过敌人类不同坐标绘制图像。
2)与马里奥同样,敌人类也有自己移动状态,因而需要依照敌人行为进行图片切换。
并且在mframe中进行不断刷新,与敌人移动速度一致。
图15敌人三角怪
图16敌人食人花
4.12敌人与马里奥:
敌人类与马里奥关系就是一种互相袭击关系。
对于不同敌人,马里奥也会有不同状态。
对于三角怪,当马里奥与三角怪横向碰撞时候,马里奥必然会失去一条生命,但是当在纵向碰撞时候敌人会死亡。
而对于食人花,不论马里奥与食人花以如何形式碰撞都会失望。
敌人与马里奥判断,跟障碍物与马里奥判断类似。
而不同是敌人是移动。
因而通过(mario)类中场景对象,可以对敌人状态进行控制,判断敌人当前与马里奥相对状况。
而做出不同成果判断。
4.13马里奥死亡解释:
马里奥死亡也许是由于与三角怪横向碰撞,也也许是与食人花纵向碰撞,也也许是走进了地面漏洞之中。
4.14其她游戏有关:
分数属性是放在(mario)类中,因而通过马里奥杀敌人数和顶问号或者砖块数进行分数增长或者不变,跟着马里奥主角变化而变化。
而当马里奥死亡之后,分数需要重置。
马里奥声明次数只有三次,因而,可以通过马里奥属性进行记录。
当马里奥死亡一次之后,敌人和砖块都需要重置,分数也需要重置
时间是由马里奥属性控制,始终跟着玛丽奥开始,当声明结束一次时候,重置。
当一关花了太多时间时候,那么就结束或者当闯关完全就结束。
而结束时候仅仅设立一种标志。
当到达这个标志时候就结束后。
图17分数时间生命图
图18马里奥开始
五、详细实现
5.1马里奥类详细实现
马里奥主角开发,事实上与障碍物开发类似,也是创立一种对象(mario)作为操作马里奥对象,并且马里奥与图片同样也有相应某些属性和办法。
publicclassMarioimplementsRunnable{
privateintx=0;//移动坐标
privateinty=490;
privateintwidth=60;//马里奥占用范畴
privateintheight=60;
privateBufferedImagenowImage=null;//马里奥图片集合
privateintxmove=0;//移动速度
privateintymove=0;
privateStringstatus="right--standing";
privatebooleaninLand=true;//与否着陆判断
privateintmovingImg=0;//移动标志
privateintupFlag=0;//与否在空中标志
privateintairTime=0;//在空中时间
privateThreadt=newThread(this);//马里奥线程
privatebooleanleftFlag=true;//向左移动标志
privatebooleanrightFlag=true;//向右移动标志
privateBackGroundbg=null;//当前场景
privatebooleandeadFlag=false;//死亡标志
privateintscore=0;//分数
privateintlife=3;//生命
privateintoldLifeFlag=0;//与否超时
privatebooleanwinFlag=false;//与否胜利
.................................................................
}
5.2马里奥移动代码
马里奥是一种动态角色,因而在她移动或者停止时候,都应当有不同状态,即有不同图片与之相应。
并且要区别是向左还是向右。
下面是详细移动代码。
与以上属性相相应
publicvoidmoveLeft(){//向左移动
if(leftFlag){
xmove=-5;
if(status.indexOf("jumping")!
=-1){
status="left--jumping";
}else{
status="left--moving";
}
}
}
publicvoidmoveRight(){//向右移动
if(rightFlag){
xmove=5;
if(status.indexOf("jumping")!
=-1){
status="right--jumping";
}else{
status="right--moving";
}
}
}
publicvoidstopLeft(){//向左停止
xmove=0;
if(status.indexOf("jumping")!
=-1){
status="left--jumping";
}else{
status="left--standing";
}
movingImg=1;
}
publicvoidstopRight(){//向右停止
xmove=0;
if(status.indexOf("jumping")!
=-1){
status="right--jumping";
}else{
status="right--standing";
}
movingImg=1;
}
publicvoidjump(){//跳跃
if(status.indexOf("jumping")==-1){
if(status.indexOf("right")!
=-1){
status="right--jumping";
}else{
status="left--jumping";
}
this.upFlag=1;
this.inLand=false;
ymove=-10;
}
}
publicvoiddown(){//向下移动
if(status.indexOf("right")!
=-1){
status="right--jumping";
}else{
status="left--jumping";
}
this.upFlag=-1;
ymove=10;
}
5.3场景类
场景是马里奥游戏之中最难控制一块内容,由于一种马里奥游戏里面有各种通关,并且每一次通过,里面敌人和障碍物等位置都是不同样。
游戏设计越复杂,那么场景控制就越难。
publicclassBackGround{
privateList
privateBufferedImagenowImage=null;//包括当前场景
privateList
privateList
..............................
}
5.4障碍物类
障碍物类(obstruction)中拥有障碍物属性,而场景(background)中障碍物和敌人,使用两个集合来进行保存。
因而可以通过集合来保存各个障碍物在场景中位置和状态。
例如:
添加一张北京图片到场景之中,将砖块,问号,绿皮按照障碍物位置放到相应位置中去。
固然,场景类应当判断当前场景是属于第一种场景还是其她场景,而初始化不同障碍物位置。
publicclassObstructionimplementsRunnable{//障碍物类
privateintx=0;//坐标
privateinty=0;
privateinttype=0;//障碍物类型
privateintstartX=0;//障碍物初始坐标
privateintstartY=0;
privateintstartType=0;//障碍物开始类型
privateThreadt=newThread(this);//障碍物线程
privateBufferedImagebf=null;//所有障碍物图片集合
......................................
}
5.4敌人类
敌人类与马里奥关系就是一种互相袭击关系。
对于不同敌人,马里奥也会有不同状态。
对于三角怪,当马里奥与三角怪横向碰撞时候,马里奥必然会失去一条生命,但是当在纵向碰撞时候敌人会死亡。
而对于食人花,不论马里奥与食人花以如何形式碰撞都会失望。
敌人与马里奥判断,跟障碍物与马里奥判断类似。
而不同是敌人是移动。
因而通过(mario)类中场景对象,可以对敌人状态进行控制,判断敌人当前与马里奥相对状况。
而做出不同成果判断。
publicclassEnemyimplementsRunnable{//敌人类
privateintx;//敌人类坐标
privateinty;
privateintstartX;//敌人类初始坐标
privateintstartY;
privateintstartType;//敌人类类型
privateintwidth;//敌人类占用范畴
privateintheight;
privatebooleanmoveLeft=true;//向左移移动判断标志
privateBufferedImagenowImage=null;//当前图片集合
privateinttype=0;
privateThreadt=newThread(this);//当前线程
privateintimageFlag=0;
privateBackGroundbg=null;//场景对象
privatebooleandeadFlag=false;//死亡标志
privatebooleanmoveUp=true;//向上移动判断
privateintuplimit=0;//向上移动限制
privateintdownlimit=0;//向下移动限制
privatebooleanstop=true;//与否停止标志
privateintstopTime=0;//时间限制
privatebooleantrutleFlag=false;//三角怪
privatebooleanmovingFlag=false;//与否可以移动
...............................
}
六、附录
Backgournd:
//场景类属性和办法
ens:
List
flag:
Obstruction
nowImage:
BufferedImage
obs:
List
position:
int
removedEns:
List
removedObs:
List
statusFlag:
int
BackGround(Buffer
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 马里奥 游戏 设计 报告 样本