关于数据结构在游戏程序中的应用探讨

来源 :数字化用户 | 被引量 : 0次 | 上传用户:lixiangzone119
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】在软件开发中数据结构有着提高程序性能的作用,如果将它运用于游戏开发,会使游戏的性能与运行速度得到更大的提高,玩家会有更好的游戏体验,提高可玩性。本文对数据结构在游戏程序中的应用进行了简单探讨,希望给出数据结构在网络游戏开发中一种新思路。
  【关键词】数据结构;数据处理;动作响应;规则实现
  数据结构现今被广泛应用于系统软件和普通应用软件开发。例如计算机操作系统中,利用高效的检索算法及索引技术,帮助计算机完成查找工作。数据结构对于网络游戏开发,其应用似乎并不广泛。数据结构的优势就在于提高程序的性能,如果数据结构与网络游戏很好的结合起来,可帮助提高游戏程序的运行速度,增强可玩性。
  一、数据处理
  网络游戏包括各种大量的数据,它们被存放服务器端的数据库内。当某个玩家成功登录后,该玩家就会从服务器的数据库里获得大量有关其自身的数据。玩家获得的数据包括他选择的角色、当前玩到的级别、已经得到的道具、已经完成的任务及将要完成的任务等等。数据信息种类繁多,数量庞大。为了处理方便,客户端程序首先应该根据数据的种类选择其合理的数据结构进行临时存储,便于后续的数据查询、显示及上传。
  以玩家道具为例,如果用线性表的结构存储,就要为每一种道具建立一个线性表结构,会占用大量存储空间,因此,此类数据存储可以采用链式存储方式解决。例如剑的种类包括单手剑、双手剑、魔法剑及细剑等等,每种剑又会分为不懂级别。道具种类及道具之间可以采用树形结构链式存储,若将所有的剑均采用单链表存储,单链表长度过长,关系混乱,不便于查找。因此在采用链式存储同时,还应采用树形的逻辑结构,因此存储最终实现可采用树的链式存储结构中的孩子兄弟表示法。树的根结点为道具结点,此节点不包括任何数据,将已经获得的道具种类逐级分层,例如将剑、弓、魔法药水等为同一界别;下一级别各个种类详细划分,例如剑的下一级别就包括单手剑、双手剑、魔法剑及细剑等等;以此类推,最终的叶子结点就是某个具体道具。当玩家的某个角色需要获得自己的某种道具时,用遍历算法,先找到种类,再沿着种类找到所有的道具。当添加新道具时,首先判断道具是否已经在道具树中,如果已经在,那么就在树中该道具的数量加上新获得的数量;否则,应该判断新道具的种类是否已经在树中,如果在树中,则将道具放置所属种类的结点下面,如果此道具的种类未在树中存在,则应在道具树的种类层中加入新的种类,在把新道具放到此种类下面,同时更新服务器上数据库的道具信息,保持信息同步。通过这样的树结构,避免了每次玩家的角色浏览道具时都要访问数据库中数据,节省了时间,更便于对道具进行分类管理,查找道具的速度也更快。
  二、玩家动作响应
  玩家通过输入设备控制角色动作,经常同时控制运动动作和攻击动作。玩家同时输入多个动作的速度极快,需要系统快速响应。无论何种动作,众所周知都动作都是由线程来控制,多个动作同时提交等于向系统提交了多个线程。玩家希望多个动作能够同时运行,但对于系统而言,线程不能同时运行。因为系统响应每个线程的时间比较短,给玩家的感觉是同时响应的,实际上采用的是并发的方式。合理的安排线程运行的顺序,便于系统的调度,角色能够快速展现玩家输入的动作。可以按照玩家输入的动作到达系统的时间为线程排序,用队列存储线程。先到达的排在队头,后到达排在队尾。队列的特征为先进先出,因此,用此種结构组织线程的时候,系统直接调出队头的线程进行运行,节省了查找的时间。
  随之而来的问题就是采用何种队列的存储结构?如果采用循环队列的结构,就需要预先知道大概需要的存储区大小,但是玩家随时都会输入新的动作,无法得知所需存储区的大小,那么可以采用链队列来存储玩家的动作线程更加适合。当有新的动作来时,可以将为其申请任意的空间存储,只需把地址告知之前的队尾,新的动作就顺利加入了队列。
  三、规则实现
  不管是何种游戏,游戏规则是游戏设计的核心,游戏规则的好坏不但会影响到玩家对游戏的兴趣程度,同样会影响到游戏的运行速度。制定了好的游戏规则后,如何实现就是难题,这就要求为其设计性能较好的算法。以连连看游戏为例,两个同样的图像选择后满足三根以内折线联通就可以消掉。满足条件的连线方式可能有多种,使用最短路径连接消除会大大提高游戏运行的速度,关键是如何找到最短路径?
  因为算法要基于特定的存储结构,所以首先应解决存储结构的问题。将连连看的界面顶点进行存储,因为其具有顶点排列具有数据结构中二维矩阵的特点,将顶点采用二维矩阵方式的存储,而不是采用图的结构存储。界面中顶点包括图片顶点和非图片顶点,对于非图片顶点二维数组单元对应值为0;应为图片的种类的是固定的,给每个种类赋值,值均大于1,每个图片顶点的二维数组单元对应的值为其种类的值。由此可以看到,二维矩阵存储各个顶点信息后,找寻两个相同图片可消除的问题就,类似于小老鼠走迷宫的问题。将连连看的连线规则应用进小老鼠走迷宫的问题,假设选中两张相同图片对应的顶点分别是vij和vkl,在找路径的同时要记录已经有的折线数,一旦超出三条就结束查找。改进后算法如下:
  将适当的算法应用于连连看的规则中,快速找到最短路径,并在在随时消除掉图片后,更新最短路径,且部分更新,提高程序的运行速度。由此可见,数据结构中的算法可以帮助在游戏实现其规则的同时降低程序复杂度,提高工作效率,加强了游戏的可玩性。但应用时数据结构的算法切忌照搬照抄,必须结合游戏的实际状况进行选择、改进,因为最终目的就是要提高游戏的工作效率。
  经过上述讨论,可以发现数据结构适合于网络游戏程序开发的各个方面,使用时应灵活多变。如果为了引入某种错误的数据结构,使得程序变得复杂,反而会影响游戏的速度,使得玩家对游戏丧失兴趣。例如数据的处理应先观察各类数据的结构特点及组织规律,采用合适的逻辑结构以及便于操作的存储结构。
  参考文献:
  [1]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1997.
  [2]王红梅,胡明,王涛.数据结构[M].北京:清华大学出版社,2011.
  [3]韦斯(Weiss,M.A.).数据结构与算法分析[M].冯舜玺.北京:机械工业出版社,2009.
其他文献
【摘 要】在罗伯茨定理的基础上,提出了一种由任意四连杆机构出发,设计平面导向五杆机构及六杆机构的几何设计方法,使其上的点能完成原四连杆上的轨迹,并使设计所得的六杆机构具有平动导向特性。运用 Cinderella 几何计算软件对示例进行运动仿真与运动分析,直观简洁,且在设计过程中可以实时观察轨迹的变化。  【关键词】罗伯茨定理 平面导向机构 平动导向 Cinderella 运动仿真  0 引言  在
期刊
【摘 要】随着社会的不断发展和进步,人门生活的水平在不断地提高,其对于电力的需求量也越来越大。在这样的背景下,电力资源已经不再是一种单纯的资源,而是作为一种商品。本文就基于网络的电力营销服务平台设计进行了详细的分析和研究,希望给后续的研究提供借鉴。  【关键词】网络;电力营销;服务平台  近些年,随着我国工业的快速发展,对电力的需求越来越大,这也促使电力资源逐渐的成为一种商品。电力营销作为社会中一
期刊
【摘 要】随着信息化的发展,会影响到公司的内部控制。既要考虑企业在构建信息化给企业带来的效益,而且还充分考虑信息技术给企业带来的风险,改变风险意识的观念。企业在充分利用信息技术时,按照环境的变化进行调整,完善内部控制体系。  【关键词】信息化 内部 控制  内部控制是指组织为达成经营的目标,保障资产的完整性,要遵守国家的法律法规,加强组织运营的效益,并采用各种政策和程序。目前,它已被广泛应用于各个
期刊
【摘 要】通过有效监测短波发射天线系统,能让其正常和稳定地运行,所以分析短波发射天线系统的监测方法具有非常重要的意义。  【关键字】短波发射 天线系统 监测方法  在电台发射系统中,天线是非常重要的组成部分,而且天线基本上都是架设在外面,所以外界各类因素容易对其造成比较严重的影响。短波发射天线的种类非常多,同时其建设投资成本也比较高,所以在短波发射天线系统的运行过程中,需要对其进行有效的监测,这样
期刊
【摘 要】通辽发电总厂五号600MW机组TSI系统改造前所应用的是MMS6000系统,因部分硬件型号过于陈旧,导致无备件可供更换,因此利用停机机会,将TSI系统由MMS6000版本升级到CSI6500版本,本文重点介绍CSI6500系统在通辽发电总厂5号机组TSI系统中的应用。  【关键词】TSI系统升级 电源模块 系统框架 CSI6500系统  一、改造前的背景  通辽发电总厂5号机组现有的TS
期刊
【摘 要】网站是气象文化宣传顺应时代发展的需要,本文通过一个实例来介绍气象文化宣传网站建设的全过程,以更好地弘扬气象文化。  【关键词】气象 文化 网站 建设  一、网站设计  (一)主题与风格  气象文化的宣传有很多角度,这里我们选取廉政文化这个角度来做一个活动专栏。  网站风格是网站区别于其他网站的特点,包括了文字、颜色、布局、链接等的编排设置,应该与网站的主题相符。我们要做的是廉政文化专栏,
期刊
【摘 要】指挥信息系统作为指挥手段已经诞生了半个多世纪,它在战争中的作用愈发明显。在未来的边境反击作战过程中,空降兵也必将利用指挥信息系统进行指挥,只有建立与未来边境反击作战相适应的指挥信息系统,才可能满足高效可靠的指挥要求。本文将从建立方法等三个方面对边境反击作战空降兵指挥信息系统的构建进行探讨。  【关键词】边境反击作战;空降兵;指挥信息系统  指挥信息系統作为指挥手段已经诞生了半个多世纪,它
期刊
【摘 要】随着我国成功加入WTO及信息化浪潮的日益临近,超市经营管理机制正在发生着根本性的变化,超市想要在激烈的市场竞争环境下生存,就必须有效地利用人才、时间、信息结合的优势,进行超市管理。本文通过对超市管理系统进行分析,以期提升超市管理水平,满足发展需求。  【关键词】超市管理 系统设计 发展策略  在新的发展时期,人们迫切希望有一个新的市场管理机制的出台,来规范以及创造新的购物环境—让顾客欢喜
期刊
【摘 要】文章介绍了一种基于WEB的实验室设备管理系统的设计,基于WEB的实验设备管理系统采用B/S模式,使用MS SQL Server 2012作为后台数据库管理系统,全面介绍了平台的设计原则、用户分类和系统功能。  【关键词】WEB;实验室设备管理系统;设计与实现  前言:当前随着我国经济的发展和对科研事业的重视程度不断提高,对社会经济生活中各种产品的检测需求也不断增加,国家认可实验室作为质量
期刊
【摘 要】信息系统综合集成是现代信息化建设的重要环节,数据资源是信息系统建设的基础,做好数据资源管理是实现一体化综合集成的关键,对促进用户信息化建设长远发展具有重要意义。本文主要针对信息系统集成方面的若干问题进行了具体分析与探讨。  【关键词】信息系统 集成 问题  伴随着现代科学技术的发展,信息系统集成已经发展成熟。但是信息系统集成中的数据资源管理还存在着一些问题,加上统一的规范标准,从而进一步
期刊