如何用数据结构创建一个20×20的迷宫,用空格和星花表示路和墙,求代码,十分感谢
答案:1 悬赏:70 手机版
解决时间 2021-04-04 05:52
- 提问者网友:姑娘长的好罪过
- 2021-04-03 22:39
如何用数据结构创建一个20×20的迷宫,用空格和星花表示路和墙,求代码,十分感谢
最佳答案
- 五星知识达人网友:行路难
- 2021-04-03 23:35
如图是我修改他人代码得到的。因为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;
}
如果画偶数宽高则会有路径浪费,所以还是画奇数宽高的好。
部分代码如下:(完整代码请追问)
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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯