如何用数据结构创建一个20×20的迷宫,用空格和星花表示路和墙,求代码,十分感谢

如题所述

如图是我修改他人代码得到的。因为C画面的墙和路都要占同样1格。
如果画偶数宽高则会有路径浪费,所以还是画奇数宽高的好。

部分代码如下:(完整代码请追问)

int main()
{
    int i,j;
    system("color 2b");
 srand((unsigned)time(NULL));  /*初始化随即种子*/
 hidden();    /*隐藏光标*/

 for(i=0;i<=Height+1;i++)
   for(j=0;j<=Width+1;j++)
   if(i==0||i==Height+1||j==0||j==Width+1)   /*初始化迷宫*/
map[i][j]=Road;
   else map[i][j]=Wall;
    
 create(2*(rand()%(Height/2)+1),2*(rand()%(Width/2)+1));  /*从随机一个点开始生成迷宫*/

 for(i=0;i<=Height+1;i++)    /*边界处理*/
 {
  map[i][0]=Wall;            
  map[i][Width+1]=Wall;   
 }
    
 for(j=0;j<=Width+1;j++)   /*边界处理*/
 {
  map[0][j]=Wall;     
  map[Height+1][j]=Wall;
 }
//★百度知道“q839219286”修订,多画一格避免宽高为偶数时没有墙
 { int pH_even= (Height/2)*2, pW_even=(Width/2)*2; //宽高偶数化
    map[2][1]=Start;     /*给定入口*/
map[pH_even][Width]=End;   /*给定出口*/
for(i=1;i<=pH_even+1;i++)  /*画出迷宫*/
for(j=1;j<=pW_even+1;j++)  
paint(i,j);
 }
    game();   /*开始游戏*/
 return 0;
}
温馨提示:答案为网友推荐,仅供参考