全文预览

C++程序迷宫游戏设计报告

上传者:随心@流浪 |  格式:doc  |  页数:14 |  大小:103KB

文档介绍
urn 0;Р?}Рvoid path(int **maze,int a,int b,int m,int n)Р{Р?item move[8]={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};Р?stack_int st;Р?Datetype temp;Р?int x,y,d,i,j;Р?if(maze[a][b]==1){cout<<"进口输入有误。";return;}Р?temp.x=a;temp.y=b;temp.d=-1; //初始化入口点坐标及方向;Р?st.push(temp);Р?while(!st.empty())Р?{Р temp=st.top();Р st.pop();Р x=temp.x;y=temp.y;d=temp.d+1;Р while(d<8)Р {Р i=x+move[d].x;j=y+move[d].y;Р if(maze[i][j]==0) //该点可到达;Р {Р temp.x=x;temp.y=y;temp.d=d; //坐标及方向;Р st.push(temp); //坐标及方向入栈;Р x=i;y=j;Р maze[x][y]=-1;//到达新点;Р if(x==m && y==n)Р {Р cout<<" 迷宫路径为:"<<endl;Р cout<<"("<<m<<","<<n<<")<---";Р Datetype t;Р while(!st.empty())Р {Р t=st.top();Р cout<<"("<<t.x<<","<<t.y<<")<---";Р st.pop();Р } //输出路径;Р cout<<endl;Р return ; //到达出口;Р }Р else d=0; //重新初始化方向;Р }Р else d++; //改变方向;Р }

收藏

分享

举报
下载此文档