本文實例分享了C++設(shè)計的一個可以調(diào)整大小的迷宮游戲,給定迷宮的入口。如果存在出口,程序能夠顯示行走的路徑,并最終到達出口,并輸出“成功走出迷宮”;如果不存在出口,程序也能夠顯示行走的過程,并最終回退到入口,并輸出“回退到入口”。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),盧龍企業(yè)網(wǎng)站建設(shè),盧龍品牌網(wǎng)站建設(shè),網(wǎng)站定制,盧龍網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,盧龍網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
//這是一個迷宮游戲 #include#include #include /*用于生成隨機數(shù),形成隨機變化的迷宮*/ #include /*用于輸出格式控制,使得生成的迷宮外觀規(guī)則*/ using namespace std; /*生成迷宮的函數(shù)mazegenerator*/ char*mazegenerator(int m,int n) { int i,j,k;/*計數(shù)器*/ char *p=new char[m*n];/*用長度為m*n的數(shù)組存放mxn大小的迷宮*/ srand(int(time(0)));/*用于生成隨機數(shù)*/ if(m<10||n<10)//階數(shù)小的時候密一點,增加趣味 for(i=0;i m*(n-1))||(((y+1)%m)==0)))/*到達邊界之前執(zhí)行循環(huán)走迷宮*/ { /*判斷右的方向,如果右為'.',則向右走*/ 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結(jié)束"<
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。