怎么设计迷宫??
发布网友
发布时间:2022-05-06 12:50
我来回答
共4个回答
热心网友
时间:2022-06-30 15:00
1、先把整个迷宫的占地大致画出来,比如你的迷宫是一张作业本纸这么大小的,而且如盗梦里那姑娘开头画的那种直角线条的,画出面积大小,然后划分成几个区域块,我把半张A4折了几下分成了八块
2、设好入口出口,然后从入口开始先画那一小区域块的,脑子里确定好这一区域块有几个出口,记住要用铅笔橡皮,因为后面大有可能会改动,然后可以画路线了,不用先画出一条路再把其余地方补上的,要画出拐弯啊什么的,死路啊墙啊,因为这一小块而已,难度不大不会搞头晕的,那样先画出一条路的方法会很容易看破。
3、你要考虑一下整体,你想要只有一条通路还是有两条三条?这条通路又与你手上正在画的小区域块的哪个出口相通?记得在出口处标记R\W,防止搞混,还有要注意,就算你知道有一条路到不了出口你也要同样认真的画它
4、像上面那样重复,画满一个个区域块,这样子只要你有精力,再复杂的迷宫都画的出来,不过越到后面越要考虑更多东西,防止在无意识中画出其他路。在这里我所说的路均为到终点的通路,或者不到终点但绕很长能把你绕到死角里气死的路,那些缩在一团绕啊绕的其实可以把他们看成堡垒,一眼就知道过不去。
5、到后面我是又从终点入手画路,然后把两部分连到一起的,你可以考虑用这种方法,这样感觉更放心点,在你画一部分时如果觉得怎么这么奇怪不太好不太舒服感觉很别扭时相信自己的直觉这一块全部擦了重画会更能达到满意的效果
怎么样
热心网友
时间:2022-06-30 15:01
我曾经画过一个大规模的迷宫,方法现在分享下:
首先是确定你的迷宫正确路的路径,之后沿着路径开始分散画更多的路口,之类的.
注意:入口和出口都要认认真真,仔仔细细去画,不能让玩家有空子可钻,至于中心部分自己随意弄,怎么高兴怎么画,有心情还可以画些由路组成的可爱图案之类的.
(一定要有耐心,耐心!!)
热心网友
时间:2022-06-30 15:01
用自己的大脑去思考,看时机,讲运气。/
热心网友
时间:2022-06-30 15:02
用c语言#include <stdio.h>
#include <math.h>
void search(int,int);
int canplace(int,int);
void readdata(); //读入数据
void printresult(); //打印结果
int a[20][20]; //a数组存放迷宫
int s,t;
int main()
{
int row, col;
readdata();
row=s/20;
col=s%20;
search(row,col); //递归搜索
printresult();
}
void search(int row, int col)
{
int r,c;
a[row][col]=1;
r=row; //左
c=col-1;
if(canplace(r,c)) //判断(r,c)位置是否已经走过
search(r,c); //递归搜索(r,c)
r=row+1; //下
c=col;
if(canplace(r,c)) //判断(r,c)位置是否已经走过
search(r,c); //递归搜索(r,c)
r=row; //右
c=col+1;
if(canplace(r,c)) //判断(r,c)位置是否已经走过
search(r,c); //递归搜索(r,c)
r=row-1; //上
c=col;
if(canplace(r,c)) //判断(r,c)位置是否已经走过
search(r,c); //递归搜索(r,c)
}
void printresult()
{
int i,j;
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
void readdata()
{
int i,j;
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
scanf("%d",&a[i][j]);
}
}
int canplace(int row, int col)
{
if(row>=0&&row<20&&col>=0&&col<20&&a[row][col]==0)
return 1;
else
return 0;
}