📄 drawmaze.h
字号:
void Drawmaze(int m[100][100],int i,int j)
{
int k,l;
if
(
(m[i][j+1]!=1||m[i][j+2]!=1||m[i+1][j+1]!=1||m[i-1][j+1]!=1||j+1>=WIDTH-1)&&
(m[i+1][j]!=1||m[i+2][j]!=1||m[i+1][j+1]!=1||m[i+1][j-1]!=1||i+1>=LENTH-1)&&
(m[i][j-1]!=1||m[i][j-2]!=1||m[i+1][j-1]!=1||m[i-1][j-1]!=1||j-1<=0)&&
(m[i-1][j]!=1||m[i-2][j]!=1||m[i-1][j+1]!=1||m[i-1][j-1]!=1||i-1<=0)
)
{m[i][j]=4;return;}
void Turnright(int m[100][100],int,int,int);
void Turndown(int m[100][100],int,int,int);
void Turnleft(int m[100][100],int,int,int);
void Turnup(int m[100][100],int,int,int);
do k=rand(); while(k<1||k>4);
do l=rand(); while(l<1||l>4);
switch(k)
{
case 1:Turnright(m,i,j,l);break;
case 2:Turndown(m,i,j,l);break;
case 3:Turnleft(m,i,j,l);break;
case 4:Turnup(m,i,j,l);
}
}
void Turnright(int m[100][100],int i,int j,int l)
{
if(m[i][j+1]==1&&m[i][j+2]==1&&m[i+1][j+1]==1&&m[i-1][j+1]==1&&j+1<WIDTH-1&&l>0)
{m[i][j+1]=0;Turnright(m,i,j+1,l-1);}
Drawmaze(m,i,j);
}
void Turndown(int m[100][100],int i,int j,int l)
{
if(m[i+1][j]==1&&m[i+2][j]==1&&m[i+1][j+1]==1&&m[i+1][j-1]==1&&i+1<LENTH-1&&l>0)
{m[i+1][j]=0;Turndown(m,i+1,j,l-1);}
Drawmaze(m,i,j);
}
void Turnleft(int m[100][100],int i,int j,int l)
{
if(m[i][j-1]==1&&m[i][j-2]==1&&m[i+1][j-1]==1&&m[i-1][j-1]==1&&j-1>0&&l>0)
{m[i][j-1]=0;Turnleft(m,i,j-1,l-1);}
Drawmaze(m,i,j);
}
void Turnup(int m[100][100],int i,int j,int l)
{
if(m[i-1][j]==1&&m[i-2][j]==1&&m[i-1][j+1]==1&&m[i-1][j-1]==1&&i-1>0&&l>0)
{m[i-1][j]=0;Turnup(m,i-1,j,l-1);}
Drawmaze(m,i,j);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -