走迷宫程序(含自动迷宫生成).doc

走迷宫程序(含自动迷宫生成).doc

ID:55257286

大小:72.45 KB

页数:16页

时间:2020-05-07

走迷宫程序(含自动迷宫生成).doc_第1页
走迷宫程序(含自动迷宫生成).doc_第2页
走迷宫程序(含自动迷宫生成).doc_第3页
走迷宫程序(含自动迷宫生成).doc_第4页
走迷宫程序(含自动迷宫生成).doc_第5页
资源描述:

《走迷宫程序(含自动迷宫生成).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、迷宫程序。执行效果如下:程序间有足够多的注释,就不多作介绍了。代码如下://///////////////////////////////////////////////////程序名称:迷宫游戏//编译环境:VisualC++6.0/2010,EasyX2011惊蛰版//作  者:krissi//最后修改:2011-3-12//#include#include#include/////////////////////

2、///////////////////////////////////定义全局变量//BYTE**g_imgMap=NULL;//迷宫地图SIZEg_szMap;//迷宫地图的尺寸IMAGEg_imgSight(360,280);//游戏的视野RECTg_rtSight;//游戏的视野的围IMAGEg_imgItem(180,20);//地图元素IMAGEg_imgGPS;//迷你地图,用于显示游戏者在地图中的位置POINTg_ptGPS;//迷你地图的显示位置SIZEg_szGPS;//迷你地图的尺寸

3、POINTg_ptPlayer;//游戏者的位置//枚举地图元素,兼做元素位置的x坐标enumMAPITEM{MAP_WALL=0,MAP_PLAYER=20,MAP_GROUND=40,MAP_MARKRED=60,MAP_MARKGREEN=80,MAP_MARKYELLOW=100,MAP_ENTRANCE=120,MAP_EXIT=140,MAP_OUTSIDE=160};//枚举用户的控制命令enumCMD{CMD_QUIT=1,CMD_UP=2,CMD_DOWN=4,CMD_LEFT=8,C

4、MD_RIGHT=16,CMD_MARKRED=32,CMD_MARKGREEN=64,CMD_MARKYELLOW=128,CMD_CLEARMARK=256};////////////////////////////////////////////////////////函数声明//voidWelcome();//绘制游戏界面voidInitImage();//初始化游戏图片voidInitGame();//初始化游戏数据voidGetMazeSize();//提示用户输入迷宫大小voidMakeM

5、aze(intwidth,intheight);//生成迷宫:初始化(注:宽高必须是奇数)voidTravelMaze(intx,inty);//生成迷宫:遍历(x,y)四周MAPITEMGetMazeItem(intx,inty);//获取指定坐标的迷宫元素voidPaint();//绘制视野围的迷宫intGetCmd(int*c);//获取用户输入的命令voidDispatchCmd(intcmd);//处理用户输入的命令voidOnUp();//向上移动voidOnLeft();//向左移动voi

6、dOnRight();//向右移动voidOnDown();//向下移动voidOnMark(MAPITEMvalue);//在地图中做标记boolCheckWin();//检查是否到出口boolQuit();//询问用户是否退出游戏////////////////////////////////////////////////////////函数定义////主程序voidmain(){//初始化initgraph(640,480);//创建绘图窗口srand((unsigned)time(NULL))

7、;//设置随机种子//显示主界面Welcome();//初始化InitImage();InitGame();//游戏过程intc;while(!((GetCmd(&c)==CMD_QUIT)&&Quit())){DispatchCmd(c);Paint();if(CheckWin())break;//延时Sleep(100);}//清理迷宫地图占用的存for(intx=0;x

8、osegraph();}//绘制游戏界面voidWelcome(){//绘制渐变色外框for(inti=0;i<128;i++){setcolor(RGB(0,0,(127-i)<<1));rectangle(149-i,109-(i>>1),490+i,370+(i>>1));}//设置字体样式setcolor(WHITE);setbkmode(TRANSPARENT);//绘制标题setfont(36,0,_T("宋体"));outte

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。