迷宫游戏的设计与实现论文Word格式文档下载.docx

上传人:b****4 文档编号:13612630 上传时间:2022-10-12 格式:DOCX 页数:34 大小:125.74KB
下载 相关 举报
迷宫游戏的设计与实现论文Word格式文档下载.docx_第1页
第1页 / 共34页
迷宫游戏的设计与实现论文Word格式文档下载.docx_第2页
第2页 / 共34页
迷宫游戏的设计与实现论文Word格式文档下载.docx_第3页
第3页 / 共34页
迷宫游戏的设计与实现论文Word格式文档下载.docx_第4页
第4页 / 共34页
迷宫游戏的设计与实现论文Word格式文档下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

迷宫游戏的设计与实现论文Word格式文档下载.docx

《迷宫游戏的设计与实现论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《迷宫游戏的设计与实现论文Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。

迷宫游戏的设计与实现论文Word格式文档下载.docx

关键词:

迷宫;

回溯;

绘图函数

Abstract:

DesignandimplementationofthemazegamewritteninCintheVCenvironmentismainlydesignedmazehasoneentranceandoneexit,afterenteringthemaze,theplayercanonlyexit,orelsefail,theprogramsupportskeyboardoperation,mazesizeisdeterminedbytheplayerautomaticallyrandomlygeneratedmazemap,mazegame,designavisionwindow,theplayercansupportroamingtothefieldofviewoutsideofthemaze,theplayercangofromtheleftsideoftheentranceintherighttheundersideoftheexportexitencounteredthewall,theplayercannot.Thegameinthemazetoexploretheexportprocesscanusetheup,down,left,right-exportofafewkeystomanuallysearchthemaze.MapofthemazeisdisplayedonthescreenusingthedrawingfunctionistoachievetocalleasyXlibrary,sothisarticlethemostimportantpartistheintroductionscreendisplaygraphicsmode,andinthismode,thecalldrawingfunctions.

Keyword:

maze;

lookbackupon;

drawfunction

引言

迷宫的问题原本是一个经典的实验心理学的问题,其大概的内容是实验心理学家将老鼠放入从没有顶的大盒子的入口处让其由此进入迷宫。

迷宫中被隔板隔成有很多的分区设置,前进的方向可以形成很多的障碍,有可能某一次走入的那个位置,可能会将小老鼠带入到死胡同,从而要重新的探索新的方向去寻找到出口,而此时给老鼠动力的是一位心理学家在迷宫的唯一的出口处放置的一块奶酪来吸引老鼠,从而给了老鼠外界的动力,让其发现从迷宫中通向迷宫的出口的位置。

当然,心理学家做这个实验是为了研究老鼠在迷宫中寻找出口时的种种表现,去研究这些表现是反映出它在那个时刻是什么样的心理反映,从而去研究这些心里反映说明的问题,还有在这种在老鼠不知道出口的情况下,老鼠是如何识别这条道路是否已经走过,从而心理学家们可以去研究老鼠的学习能力,这只是最初时为了进行学术研究而设置的。

有了这样一个启发,后来有的程序员开发出了各种迷宫的小游戏,这种迷宫的小游戏是趣味性的游戏,可能不用太多的思考能力,但是要的是一种耐心,往往游戏者迟迟走不出,或是走了很久,以为快到出口的地方时,结果进入了死胡同,还要返回去再来,会容易让人产生不耐烦的心态,因为要逐一的去试探各种可能的方向。

但是这种经典的小游戏并没有因此而失去它的魅力,反而吸引了更多的玩家,现在程序的设计者也更加注重提高游戏的趣味性,比如,游戏者的标志是很炫的卡通人物,或是迷宫的障碍物设计的很有意思。

这次我设计的这个迷宫游戏用的是比较简单的方法,是在VC环境下用C语言编写的,并没有用到VC中的API和MFC这种面向对象的方法去编程,当然这两种环境下编出来的界面会更加的漂亮,这次是调用easyX库函数来实现迷宫的界面的,所以在程序中用到了调用到了很多的绘图函数。

设计的迷宫是有一个入口和一个出口,游戏者在进入迷宫后,只能从出口出去,否则失败,该程序支持键盘操作,迷宫大小是由游戏者来确定的,可以自动随机的生成迷宫地图,迷宫游戏设计了一个视野窗口,并不是所有的迷宫地图都可以整个的出现在游戏者的视野范围内,这样做的目的是,如果游戏者事先能浏览整个的迷宫地图的话,就可以大概看一下地图,这样就会很容易走出去,失去游戏本身的趣味性,当游戏者要到视野范围外的迷宫地图时,这时迷宫游戏可以支持游戏者漫游到视野范围外的迷宫。

除了有漫游的功能,还有一个是还可以用三种不同的颜色去标识已经走过的路径,方便让走入死胡同的游戏者可以沿原路返回后,因为忘记刚才走过的路,又一次走入刚才走过的死胡同,这种情况会经常发生。

比如每到一个叉路口,这时可以用黄色来标记,表示暂时的记住来过这个地方,如果后来到了到了死胡同,这个黄色标记中通往死路的这个方向可以用红色标记,用此来表示这条路不通,以后可以不走。

当游戏开始后,游戏者可以从左侧的入口进去,如果能找到出口的话就会在右下侧的出口退出,墙壁则是障碍物的标识,游戏者是不能通过的。

游戏者在迷宫中探索出口的过程中可以使用上,下,左,右或是'

A'

,W'

,'

S'

D'

这几个键手动的搜索迷宫的出口。

迷宫的地图是使用绘图函数显示在屏幕上的,除了描述了迷宫游戏的设计思路和所使用到的数据结构,本文还有最重要的一个部分就是介绍在屏幕显示的图形模式,和在这种模式下,所调用的一些绘图函数。

1迷宫游戏的概要设计

1.1工具介绍

编写迷宫游戏用的是visualC++6.0和EasyX2011惊蛰版,程序所用语言是C语言。

VisualC++6.0是微软开展的Win32应用程序(Windows95/98/2000/XP/NT)、集成工具,面向对象的可视化的一个集成工具。

其最大的优点是提供一个强大的MFC类库——是一个很强大的c++类层次结构,它是由封装了很多类和函数的Windows程序标准由MFC类来提供MFC类等内容,而且MFC为这些提供一个用户界面标准的实现,程序员必须要做的是通过预定义的接口的特定应用程序特定的东西来填满这个框架可以简化编程工作,大大减少了程序员编写的工作量,使得编程变得更加容易。

2011EasyX惊蛰版是2011年3月6日发布的,据作者自己介绍,之前的easyX一直用的是该版本的发布时间来标记该版本的,说是正好发布的那一天,正是二月二,中国农历的节日龙抬头,也是二十四节气中的惊蛰,所以这也是2011惊蛰版的来历,在这个新的版本中,作者对其作了大量的更新,使其用起来更加的方便和功能更加强大,新增加的很多功能中,在这次设计程序中,就用到了新增加的两个函数,GetWorkingImage函数/SetWorkingImage函数和InputBox函数。

另外,在新版中凡是和圆弧有前的函数,都改为用了弧度制,在以前BGI(BasicGraphicsInterface)图形接口文件是使用的是角度制,如果每个程序都需要将弧度制转换为角度制无疑是很麻烦的,所以现在使用弧度制省去了很多的麻烦。

除了新增加的功能,还有部分的功能作了调整,以下只介绍我们在程序中会用到的几个函数,arc函数由画圆弧调为画椭圆弧,精简putimage函数,可以设置当前绘图图像的宽高,cleardevice函数清屏幕内容不在是局限于裁剪的区域,还有部分bug的修正,例如对文字和绘图的稳定性的提高,也修正了以前版本在退出程序时会产生崩溃的一些问题。

在其他的方面是提高了程序的兼容性和对帮助文件的更新【21】。

1.2游戏的主要功能

建立一个大小为任何迷宫的m*n,m,n是由用户输入的数字,自动生成一个m*n迷宫。

并完成了组织和存储的迷宫,和迷宫路由算法。

迷宫有一个入口和出口,以及支持键盘操作。

游戏者从左上侧找到入口,右下侧找到出口。

迷宫的屏幕上显示的障碍物图形是由随机种子自动生成的,并使用图形函数显示在屏幕上。

程序响应键盘操作,四个方向键来选择路径,若碰到墙上,则不能通过。

走过的路径,可以进行标记【18】。

1.3程序调用的头文件的介绍

#include文件的扩展名为.h的文件是头文件,在程序中使用头文件有多种好处,比如可以减少整个的代码的长度,一般把这些公用的内容编译在一起,提供公共的代码。

有些函数库的功能可以通过头文件来调用,有些函数库的源代码是不方便或者不准向外界公开的,所以向用户调用头文件时,连接头文件的接口会来调用有关的库函数的,会从中取出相应的代码,可以和用户的程序链接生成可执行的动态连接库文件,所以不必向外界公开代码,同时也不影响用户的使用,而且又增强了用户程序的可读性。

在本次的程序中开头调用了graphics.h,conio.h,time.h这三个头文件,这三个头文件都是在本次的迷宫设计中与取随机数后自动生成迷宫,绘制迷宫图形和读取游戏者输入的相关命令,系统返回的相关命令相关的头文件,下面大概介绍一下这三个头文件:

graphics.h是easyX图形库,在图形库里主要为程序提供的是图形模式函数。

Conio.h为程序提供的是字符模式函数。

可以通过控制台进行数据的输入和输出,例如是对一些响应一些用户的键盘操作,conio这几个字母实际上是控制台输入输出操作的简写。

Time.h是提供日期和时间的头文件,是从系统时钟获取时间的方式【21】。

2easyX的介绍

EasyX是针对C++的图形库,可以帮助C语言初学者快速上手图形和游戏编程。

2.1为什么要用easyX

大多数程序员学习C语言编程是从TC开始学习,主要是介于TC的编程环境因为太老了,所以容易给新手造成一种学习上的环境的压力,比如想复制和粘贴某段代码时是很不方便的,这种外界性的压力容易让刚开始学习C语言的学习者对学习产生一些不好的情绪。

面VC有杰出的编辑和调试的环境。

并且它易于下载到免费的版本。

但不幸的是,VC只能做一些类似于文本的练习,比如想画一条直线或圆类的图是很难的,想注册窗口类和构造消息循环都是在刚开始学习时不容易上手的。

所以通常我们在刚开始接触到C语言时,老师一般的推荐我们使用TC,因为给容易上手。

现在为了给每个人一个更好的学习平台,为了更好的体现出VC的优越性,所以一些程序开发者编写了easyX库,现在有了这个库函数,可以在VC环境下方便的进行图形的绘制,这个函数库的出现给C语言的开发者提供一个更方便的开发平台。

2.2easyX

首先介绍一下easyX的安装环境,操作系统的版本:

windows2000及以上的系统。

编译环境的版本是:

visualC++6.0/2008/2010。

安装时解压后,可以执行setup.hta,可以根据提示安装。

但如果想手动安装,可以将include和lib文件夹下的文件分别拷贝到VC对应的include和lib文件夹内即可。

在include文件夹下只有一个文件是graphics.h,而如果你用的版本是VC6.0,lib文件夹下的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1