社区讨论
迷宫生成 有墙隔断 无法通行 求调
学术版参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhj3setz
- 此快照首次捕获于
- 2025/11/03 20:15 4 个月前
- 此快照最后确认于
- 2025/11/03 20:15 4 个月前
CPP
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int n=time(0)%1145141919,m=time(0)%81011457;
int random1(int m)
{
long long ran;
ran=time(0);
for(int q=1;q<=10;q++)
{
ran=ran*n+m;
ran=ran%100000000/10000;
n++;m++;
}
return ran;
}
int main()
{
int con[101]={0};
int connect[101][4]={0};
int r[101]={0};
int s=1;
for(int i=1;i<=99;i++)
{
int b=1;
r[i]=s;
con[s]=1;
int f;
while(1)
{
f=random1(4);
if((f==0&&s%10!=1)&&(connect[r[i]][0]==0&&con[s-1]==0))
{
s=s-1;
connect[r[i]][0]=1;
connect[s][2]=1;
break;
}
else if((f==1&&s+10<=100)&&(connect[r[i]][1]==0&&con[s+10]==0))
{
s=s+10;
connect[r[i]][1]=1;
connect[s][3]=1;
break;
}
else if((f==2&&s%10!=0)&&(connect[r[i]][2]==0&&con[s+1]==0))
{
s=s+1;
connect[r[i]][2]=1;
connect[s][0]=1;
break;
}
else if((f==3&&s-10>0)&&(connect[r[i]][3]==0&&con[s-10]==0))
{
s=s-10;
connect[r[i]][3]=1;
connect[s][1]=1;
break;
}
else
{
if(s%10!=1&&(connect[r[i]][0]==0&&con[s-1]==0))
continue;
else if(s+10<100&&(connect[r[i]][1]==0&&con[s+10]==0))
continue;
else if(s%10!=0&&(connect[r[i]][2]==0&&con[s+1]==0))
continue;
else if(s-10>0&&(connect[r[i]][3]==0&&con[s-10]==0))
continue;
else
{
s=r[i-b];
b++;
}
continue;
}
}
Sleep(500);
system("cls");
for(int i=1;i<=21;i++)
cout<<"##";
cout<<endl;
for(int i=0;i<=9;i++)
{
cout<<"##";
for(int j=1;j<=9;j++)
{
cout<<" ";
if(connect[i*10+j][2]==1)
cout<<" ";
else
cout<<"##";
}
cout<<" ##"<<endl;
cout<<"##";
for(int j=1;j<=10;j++)
{
if(connect[i*10+j][1]==1)
cout<<" ";
else
cout<<"##";
cout<<"##";
}
cout<<endl;
}
}
system("cls");
for(int i=1;i<=21;i++)
cout<<"##";
cout<<endl;
for(int i=0;i<=9;i++)
{
cout<<"##";
for(int j=1;j<=9;j++)
{
cout<<" ";
if(connect[i*10+j][2]==1)
cout<<" ";
else
cout<<"##";
}
cout<<" ##"<<endl;
cout<<"##";
for(int j=1;j<=10;j++)
{
if(connect[i*10+j][1]==1)
cout<<" ";
else
cout<<"##";
cout<<"##";
}
cout<<endl;
}
while(1)
{
}
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...