战棋类游戏的算法设计与实现

时间:2022-06-18 06:14:27

战棋类游戏的算法设计与实现

摘要:该文介绍采用类3D技术来实现的新型战棋类游戏,以Maya为主的Unity, 3Ds Max多种软件技术和VC++语言编程相结合,以人物为棋子移动进行拼杀的战棋类游戏,采用非平衡二叉树的方法来存储各棋子的位置,采用局部的类折半查找法进行目标的定位,以及使用模糊行为确定目标的选取,采用遍历的方法确定棋子所走路径。

关键词:战棋游戏;算法

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)08-0083-02

1 概述

现在的游戏软件越来越趋向网络版,并且小型的动漫型的小游戏越来越多,越来越让人们喜欢,这样的游戏在操作上简单,也不需要安装,更有竞争力。我们这个项目正是看到网络中小游戏的优越性,结合一些大型游戏的属性,比如魔法属性、能量值等,让战棋类的游戏也像其他的武侠游戏一样,具有一定的魔幻性,为游戏玩家带来更多的吸引力。

本论文介绍制作一款2D-3D的新型战棋类游戏。将以Maya为主的Unity,Maya,3Ds Max多种软件技术和VC++语言编程相结合,采用日式风格,剧情将以科学与魔法共存的平行世界为背景,以人物为棋子移动进行拼杀的战棋类游戏。

2 需求分析

在战棋游戏中,有着多方的元素在游戏中体现,比如飞机,坦克、步兵等,对各种元素都以能量的形式进行体现。在各种元素使用的模块中,相互的关系,影响和数据的存储,可以采用数据库来实现。设置的系统架构可以用下面的系统用例图来体现,如图1所示。

用户通过前台界面的系统登陆区进行登陆系统,进入系统后可以选择其一种角色参与游戏,并且在游戏设置模块中对棋盘的相关属性、计算机控制属性等进行调整与设置。在界面的外观需求中,为了吸引玩家,采用了以Maya为主的Unity,3Ds Max多种软件技术相结合,制作了类3D效果的场景,并且配置立体音效,以增加游戏环境的真实性。

3 算法实现及VC++代码

3.1游戏整体设计思路

首先,分析该游戏中所需要的所有元素对象,接着根据各元素所对应的场景进行环境图形分析,然后进行算法设计思路整理,再采用VC++实现了游戏中各类元素的数据结构表示。利用了类广度优先的算法实现对棋子可走的范围进行计算,用折半查找法和模糊行为确定了选取的行动和行动实施的目标。采用遍历的方法确定棋子所走路径.采用VC++实现的关键代码如下:

1) 用类广度优先的算法遍历棋盘,以来确定能活动的范围大小,并且将活动范围压入栈,并且设其置状态标志flag为1;

2) 获取一定范围内的所有对方综合元素的数量及能量情况,利用折半查找法来确定目标的位置坐标以及可以采用的动作;

3) 根据当前玩家所在的位置到目标元素所在的坐标位置,计算出一条可走的路径,并且玩家根据这条路径进行行走。

3.2元素对象数据结构设计

3.3棋盘数据结构设计

元素对象在场景中移动,场景的大小范围设置,障碍物的放置位置,各元素对象在场景中移动所花费的移动能量。为了元素对象在场景中移动的方便性,对棋盘中的每个位置设置1个标志,即是否有人using。

3.4栈结构设计

4 结束语

通过上面的算法和数据结构的设计,本文阐述的算法和数据结构实现了战棋类游戏的开发,达到了系统开发的要求,但由于开发者的水平有限,还存在需要完善的地方,有待在以后的学习中进行改进。

参考文献:

[1] 关慧芬,师军.网络爬行技术研究[J].郑州轻工业学院学报:自然科学版,2008,23(6).

[2] 李伟青.凸多边形窗口线裁剪的折半查找算法[J].计算机辅助设计与图形学学报,2005,17(5).

[3] 王浩.Visual C++游戏开发经典案例详解[M].北京:清华大学出版社,2010.

[4] 邓桂英.OpenGL制作三维游戏的研究[J].计算机与现代化,2005(11):33.

上一篇:高校计算机实验室安全管理体系的构建 下一篇:互联网+教育微网站的设计与应用