#include<"> #include<" />
欢迎来到天天文库
浏览记录
ID:61443529
大小:15.93 KB
页数:22页
时间:2021-01-31
《个人写的迷宫源代码.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、//Proj_MiGongGraphDis.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include#include#include#include#include#definerightNeib0#definedownNeib1#defineUpToward1#defineLeftToward2#defineDownToward3#defineRight
2、Toward4#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;boolleft;booldownward;boolright;intLastX;intLastY;boolvis
3、ited;}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;intExcecut_sign=0;intN_find=0;intdot_num=1;intm=0;intn=0;intGroup_num=0;intstart_node
4、_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]);//初始化迷宫中各个节点的通断情况voidInitSemble();structLst*FindTailNode(structLst*Pnode);voidMerge2semble();intFindPoint(structL
5、st*headnod,intX,intY);intSameSemble(int*point_start_x,int*point_start_y,int*point_end_x,int*point_end_y);intFunJudeEnd();//structLst*creatMiG(structLst*headnod);//创建迷宫voidRemoveRinge();//初始化--拆墙---绘图voidInitArryVisited(arynodearry[][ColumnNum]);//初始化--所有的点单元设置为未访问voidResetHeadValue(structLst
6、*headnod,intX,intY);//--初始化N*N迷宫-------end----***********////--行走路径的链表操作----start----***********//intfuncArry(arynodeArry[][ColumnNum],inti,intj);//查找迷宫出口主函数structLst*headNode;structLst*InitLstNode(intInPutX,intInPutY);structLst*AddLstNode(structLst*head,intInPutX,intInPutY);structLst*DelLst
7、Node(structLst*head);//删除叶子节点voidprintLst(structLst*head);//打印行走路径坐标//--行走路径的链表操作----end----***********////*****************绘图函数--start--*********************//voidDrawDotLst(structLst*headnod);//绘制游走点链表voiddrawDot(intx,inty);//绘制游走点voidEraseDot(in
此文档下载收益归作者所有