用面向对象的思想探讨游戏“魔兽争霸”1.docVIP

用面向对象的思想探讨游戏“魔兽争霸”1.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用面向对象的思想探讨游戏“魔兽争霸”1

【文章标题】用面向对象的思想探讨游戏“魔兽争霸”(1) 【文章作者】曾健生 【作者邮箱】zengjiansheng1@126.com 【作者QQ】190678908 【作者博客】/newjueqi / 【编程环境】JDK 1.6.0_01 【作者声明】欢迎转载文章,但转载请保留文章的完整性以及注明文章的出处。 ******************************************************************************* 前言:面向对象思想是学习java, .net等计算机语言的核心思想,在本人学习的过程中,本人直到最近对面向对象思想有了一个大突破后才发现原来在玩 “魔兽争霸”这个游戏的过程中就已经包含了深刻的面向对象的思想,现在根据自己对面向对象思想的理解结合“魔兽争霸”这个游戏进行相关的阐述(本人知道很多兄弟们对“魔兽争霸”等相关即时战略游戏相当沉迷,用“魔兽争霸”举例说明能减少学习的枯燥性,看完本文后就能发现其实面向对象的思想我们早已熟悉了,只是没发现而已),希望能对各位理解面向对象的思想有所帮助。阅读本文前最好对即时战略游戏有所理解,即时战略游戏指魔兽争霸,星际(当然也包括帝国时代,红色警戒等游戏),有所理解是指起码也要知道游戏是怎么玩的。最后,请原谅由于本人对“魔兽争霸”不太熟悉而在魔兽的专业术语的使用上有所错误,其实本人只是“魔兽争霸”菜鸟(勉强能打赢初级电脑),而且本人也有半年多没玩,很多内容都忘记,阅读本文的“魔兽”玩家请原谅我吧^-^ 本人才疏学浅,对于文中出现的各种错误,敬请各位大侠指出!!! 这里也简单阐述一下面向对象的概念(详细的定义读者可参考相关的书籍或文章): 面向对象的思想力图使计算机中描述的事物和现实生活中的尽量相近,其中类是指具有相同属性,相同行为的一类事物;实例是指该类事物的具体例子 首先开始就文中的一些概念进行约定以减少阅读的困难: 我们玩“魔兽争霸”游戏是在一个地图(是指2D地图)中进行,如果现在有一个人族的农民站在地图上,那么这个农民在地图上有个坐标(坐标的原点是地图左下角),譬如是农民的坐标(200,100),那么在地图上的标识如下(图1),这个坐标概念在下文中经常用到,各位读者必须要理解是怎么一回事 全文中都是假设玩家选的种族是精灵族 其实我们在玩魔兽的过程中对类的概念已经耳熟能详了(对于这一点,是本人在前几天对面向对象有了一个更深刻的认识后才发现,各位玩家看了后一定会恍然大悟^-^) 下面就面向对象中的属性,行为,类,实例等概念用游戏的例子说明一下 属性:是说明某个物体的基本特征,通过一系列的属性数据,我们就能得出结论某个物体是什么?譬如一个精灵族的小精灵,它的生命是120,防御是0,看起来像是发红光的物体,知道了小精灵的以上数据,就对小精灵有所了解。如图1 图1 行为:说明某个物体能干什么?譬如小精灵能采矿(),能建造生命之树(),能移动()等,这都是小精灵的能干的事情。如图2 、 图2 类:是某一种事物的描述。我们知道在精灵族种小精灵的生命值120,防御力是0,小精灵能采矿(),能建造生命之树(),能移动(),但我们不需要知道具体到底指的是哪个小精灵,反正小精灵这个概率就有以上的内容。所以小精灵就是一个类,它可以存在于抽象层次(知道是什么一回事),但不需要实体。在精灵古树种有个生产小精灵的按钮,我们知道这个按钮能生产小精灵,生产的小精灵除了位置和内部ID号外其他都是一样的。所以这个生产小精灵的按钮就是已经蕴含了面向对象中的“小精灵”类的概念。如图3 图3 实例:类只是某一种事物的抽象的概念。就正如“小精灵”类一样,如果不训练一个小精灵去采矿,那么小精灵类永远不会采矿。如果我们需要一个小精灵去采矿,我们就必需点击一下训练小精灵的按钮训练一个小精灵出来点击训练小精灵按钮创造一个小精灵,用面向对象的术语描述就是用小精灵类产生了一个小精灵的实例。训练出来的小精灵就是小精灵类一个实例。图4就是用小精灵类创造的多个实例: 图4 经过以上的论述,本人得出了一个结论:每个玩家都已很熟悉面向对象思想。玩魔兽的过程就像是一个面向对象编程的过程:我们玩游戏就是用暴雪公司提供的各种类和方法,思考用那些类(英雄类,小精灵类,战士类等),创造多少个实例(训练多少各精灵,生产多少个弓箭手,需要用哪个英雄),针对各个对象的属性(生命值,资源值,攻击力,防御力)考虑调用哪些方法(小精灵去采矿(),小精灵建造生命之树(),弓箭手攻击())来获取胜利,在这个基础上玩家们创造

文档评论(0)

xiaoyi2013 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档