迷宫游戏控制台版C++代码
本文实例分享了C++设计的一个可以调整大小的迷宫游戏,给定迷宫的入口。如果存在出口,程序能够显示行走的路径,并最终到达出口,并输出“成功走出迷宫”;如果不存在出口,程序也能够显示行走的过程,并最终回退到入口,并输出“回退到入口”。
成都创新互联是一家集网站建设,卢龙企业网站建设,卢龙品牌网站建设,网站定制,卢龙网站建设报价,网络营销,网络优化,卢龙网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
//这是一个迷宫游戏 #include#include #include /*用于生成随机数,形成随机变化的迷宫*/ #include /*用于输出格式控制,使得生成的迷宫外观规则*/ using namespace std; /*生成迷宫的函数mazegenerator*/ char*mazegenerator(int m,int n) { int i,j,k;/*计数器*/ char *p=new char[m*n];/*用长度为m*n的数组存放mxn大小的迷宫*/ srand(int(time(0)));/*用于生成随机数*/ if(m<10||n<10)//阶数小的时候密一点,增加趣味 for(i=0;i m*(n-1))||(((y+1)%m)==0)))/*到达边界之前执行循环走迷宫*/ { /*判断右的方向,如果右为'.',则向右走*/ if(y-x==1)z=y+m; if(y-x==m)z=y-1; if(y-x==-m)z=y+1; if(y-x==-1)z=y-m; /*右不为'.'时,向y的前方走*/ if(p[z]=='#') { /*判断y的前方,如果前为'.',则向前走*/ if(y-x==1)z=y+1; if(y-x==m)z=y+m; if(y-x==-m)z=y-m; if(y-x==-1)z=y-1; /*如果前方为'#',要向左走*/ if(p[z]=='#') { /*判断左的位置*/ if(y-x==1)z=y-m; if(y-x==m)z=y+1; if(y-x==-m)z=y-1; if(y-x==-1)z=y+m; /*如果左为'#',为死路,需要向后走*/ if(p[z]=='#')z=x; } } p[z]='x';/*最后都要让z的位置为'x',表示走过的痕迹*/ showmaze(p,m,n); cout< 2,n>2):"< >m>>n) { char*a=mazegenerator(m,n); showmaze(a,m,n); cout< 2),\n否则,按ctrl+z,再按enter结束"<
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
名称栏目:迷宫游戏控制台版C++代码
标题路径:http://ybzwz.com/article/jjigje.html