- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
回合制战斗类游戏回合制斗类游戏
- PAGE 16-
回合制战斗类游戏
程序功能与设计思路
整体设计目标:含有游戏场景、游戏角色、动作控制、动画、交战(可选)、人工智能、音效(可选)等各部分内容。
游戏实现功能说明:
本次游戏是关于回合制战斗游戏的设计,游戏含有背景音效,玩家通过点击攻击命令图标对怪物发动攻击,程序响应后智能的选择攻击模式,计算对双方产生的伤害值,并显示对战消息,当其中的任何一方生命值为0时,游戏结束。
游戏场景设计:贴天空、山峦、草地图,并实现其循环移动,对山峦进行透明处理。
游戏角色设计:贴怪兽、玩家图,并进行透明效果处理,设定生命值。
动作控制、交战:点击攻击命令图标玩家可以对怪物发动技能攻击,同时怪物也可以选择相应的攻击方式。
动画:怪物和玩家采用透明动画制作的技巧,对图案进行连续显示及图案本身背景的透明化处理。
人工智能:在游戏中设定怪物有5种行为即利爪攻击、闪电链攻击、致命一击、使用梅肯斯姆回复生命值、逃跑,根据以上设计的怪物行为,利用“if-else”、“switch”语句,使计算机对角色进行事件情况判断,用来模拟怪物对战时的思考与行为的方式。
音效:游戏的背景音效贯穿于整个游戏的始终。
界面效果显示:
游戏开始界面效果显示:
2)游戏进行界面效果显示:
3)游戏结束界面效果显示:
贴天空图
贴山峦图
贴草地图
贴怪物图
贴玩家图
主界面设计思路(简单结构框图):
贴背景图
设置背景循环移动
(天空、山峦、草地)
贴攻击命令图标
贴攻击效果图画
显示对战消息和生命值
贴游戏结束图画
相关原理知识介绍
游戏流程:
开始
点击攻击命令图标
显示贴图、播放背景音乐
玩家发动攻击
程序随机响应玩家角色攻击方式、AI怪物攻击与思考方式
计算相应伤害值并进行生命值的加减
显示攻击特效、对战消息
游戏结束
玩家生命值player.nHp0
怪物生命值monster.nHp0
Y
N
1、贴图原理:
位图是属于GDI的对象之一,在一套游戏开发过程中,常常需要运用大量的位图来构建游戏的所有画面。以游戏程序来说,由于使用的位图数量相当多,因此都会先将位图存成文件,等到程序需要时再将文件加载到窗口中。将位图从文件中加载到绘制窗口中必须经过以下几个步骤。
1)从文件加载位图(BITMAP)对象。
2)建立一个与窗口DC兼容的内存DC。
3)内存DC使用步骤 1)所建立的位图对象。
4)将内存DC的内容粘贴到窗口DC中,完成显像的操作。
BitBlt()函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。
例如:BitBlt(hdc,50,50,350,250,mdc,200,100,SRCCOPY);
这行程序表示,从来源DC(mdc)坐标点(200,100)的地方开始向右向下剪裁出宽350,高250的区域,并将其贴到目的DC(hdc)以坐标点(50,50)为原点的区域中。
2、背景循环移动原理:
循环背景是不断地进行背景图的裁切与结合,然后显示在窗口上所产生的一种背景画面循环滚动的效果。下面就介绍如何利用同一张跟窗口大小相同的背景天空图案来产生背景由左向右循环滚动的动画效果的。当背景在由左向右移动时,背景图右移的过程中,屏幕会出现“缝隙”,所以我们需要把移出屏幕的图贴到缝隙中来。这样子循环后,就可以看到在空中飞行的效果了。
由上面的分析看出,我们的工作就是两次贴图:
1)第一步,裁取原始背景图右边部分进行贴图操作到另一个DC中,假设目前裁取的右边部分的宽度为x;
2)第二步,裁取原始背景图左边部分惊醒贴图操作到另一DC中,完成了向右滚动接合后的新背景图;
3)第三步,将接合后的背景图显示在窗口中,之后递增x值,进行循环操作。当x大于等于背景图后,就将x的值重设为0,继续重复循环。这样子就形成了背景循环效果。
注意:循环背景的选图很重要,要力求看不出背景缝隙。
3、技能攻击算法设计原理
1.AI怪物攻击与思考方式设计
假设怪物作战时具有如下几种行为:
1)利爪攻击
2)闪电链攻击
3)致命一击
4)使用梅肯斯姆回复生命值(补血)
5)逃跑
那么我们可以根据以上设计的怪物行为,设计以下一段算法,用来模拟怪物对战时的思考与行为的方式:
if (monster.nHp 20) //生命值大于20
{
if (rand() % 5 != 1) //进行利爪攻击概率4/5
monster.kind = 0;
else //进行闪电链攻击概率1/5
monster.kind = 1;
}
else //生命值小于20
{
您可能关注的文档
最近下载
- XGZ系列刮板输送机图册.pdf
- 第10课《 再塑生命的人》课件(共22张ppt)部编版语文七年级上册.pptx VIP
- 近5年上海市高考语文真题之书序、游记类文言文阅读汇编.docx VIP
- 00708装饰材料与构造-全国自考-2021年4月高等教育自学考试真题(试卷).pdf VIP
- XGZ系列铸石刮板输送机.doc
- 小学篮球原地运球、行进间运球教案.doc
- 中国林业研究院806有机化学考研真题试题2020年.pdf VIP
- 中国林业研究院806有机化学2019考研真题试题.pdf VIP
- 2024年初级咖啡师技能鉴定考试题库大全-上(单选题汇总).docx
- 2024-2030年中国氦(液氦和气态氦)行业市场发展趋势与前景展望战略分析报告.docx
文档评论(0)