#include<"> #include<" />
欢迎来到天天文库
浏览记录
ID:40766265
大小:24.79 KB
页数:22页
时间:2019-08-07
《个人写的迷宫源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//Proj_MiGongGraphDis.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include#include#include#include#include#definerightNeib0#definedownNeib1#defineUpToward1#defineLeftToward2#d
2、efineDownToward3#defineRightToward4#defineRowNum30#defineColumnNum30#defineGridNum900#defineRandWallNum50000inta[RowNum][ColumnNum]={0};intb[GridNum]={0};intc[GridNum]={0};//intb[cnt_row][cnt_clolumn]={0};//intc[cnt_row][cnt_clolumn]={0};structarynode{boolupward;b
3、oolleft;booldownward;boolright;intLastX;intLastY;boolvisited;}arry[RowNum][ColumnNum];structLst{intx;inty;structLst*next;boolmerged;//是否曾经合并inthead_x;//当前节点的链表头坐标inthead_y;inthead_sign;};structLst*LstArry[RowNum][ColumnNum];intposi_X=0;intposi_Y=0;intDire_sign=0;i
4、ntExcecut_sign=0;intN_find=0;intdot_num=1;intm=0;intn=0;intGroup_num=0;intstart_node_x=0;intstart_node_y=0;intend_node_x=RowNum-1;intend_node_y=ColumnNum-1;//--初始化N*N迷宫-------start----***********//voidInitMiGong();//初始化N*N迷宫voidInitArry(arynodearry[][ColumnNum]);/
5、/初始化迷宫中各个节点的通断情况voidInitSemble();structLst*FindTailNode(structLst*Pnode);voidMerge2semble();intFindPoint(structLst*headnod,intX,intY);intSameSemble(int*point_start_x,int*point_start_y,int*point_end_x,int*point_end_y);intFunJudeEnd();//structLst*creatMiG(structLst*
6、headnod);//创建迷宫voidRemoveRinge();//初始化--拆墙---绘图voidInitArryVisited(arynodearry[][ColumnNum]);//初始化--所有的点单元设置为未访问voidResetHeadValue(structLst*headnod,intX,intY);//--初始化N*N迷宫-------end----***********////--行走路径的链表操作----start----***********//intfuncArry(arynodeArry[][
7、ColumnNum],inti,intj);//查找迷宫出口主函数structLst*headNode;structLst*InitLstNode(intInPutX,intInPutY);structLst*AddLstNode(structLst*head,intInPutX,intInPutY);structLst*DelLstNode(structLst*head);//删除叶子节点voidprintLst(structLst*head);//打印行走路径坐标//--行走路径的链表操作----end----****
8、*******////*****************绘图函数--start--*********************//voidDrawDotLst(structLst*headnod);//绘制游走点链表voiddrawDot(intx,inty);//绘制游走点voidEraseDot(in
此文档下载收益归作者所有