回合制战斗类游戏回合制斗类游戏.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 {

文档评论(0)

ganqludp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档