zoukankan      html  css  js  c++  java
  • 无语的迷宫

    make:(制作地图)

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 bool a[40][1001],b[40][1001];
     4 int h[1601][2],dx[4]={0,1,0,-1},dy[4]={1,0,-1,0},sx=1,sy=1,zx,zy,n;
     5 bool bfs(){
     6     int x,y,nx,ny,i,j,pf=1,pr=2;
     7     for(i=1;i<=n;i++)
     8         for(j=1;j<=n;j++)
     9         b[i][j]=a[i][j];
    10     while(pf<pr){
    11         x=h[pf][0],y=h[pf++][1];
    12         for(i=0;i<4;i++){
    13             nx=x+dx[i],ny=y+dy[i];
    14             if(b[nx][ny]){
    15                 h[pr][0]=nx,h[pr++][1]=ny;
    16                 b[nx][ny]=0;
    17                 if(nx==zx&&ny==zy)return 1;
    18             }
    19         }
    20     }
    21     return false;
    22 }
    23 void randx(){
    24     for(int i=1;i<=n;i++)
    25         for(int j=1;j<=n;j++)
    26         a[i][j]=rand()%2;
    27     a[sx][sy]=a[zx][zy]=1;
    28 }
    29 int main(){
    30     cout<<"Size:";
    31     freopen("migong.txt","w",stdout);
    32     cin>>n;cout<<n<<endl;
    33     srand((int)time(NULL));
    34     h[1][0]=sx,h[1][1]=sy;zx=zy=n;
    35     while(1){
    36         randx();
    37         if(bfs())break;
    38     }
    39     for(int i=1;i<=n;i++){
    40         for(int j=1;j<=n;j++)
    41         if(a[i][j])printf("1 ");
    42         else printf("0 ");
    43         printf("
    ");
    44     }
    45     system("start go.exe");
    46     return 0;
    47 }
    View Code

    go:(开始游戏)

     1 #include<bits/stdc++.h>
     2 #include<conio.h>
     3 using namespace std;
     4 int a[40][40],n;
     5 void out(){
     6     for(int i=1;i<=n;i++){
     7         for(int j=1;j<=n;j++){
     8         if(a[i][j]==1)cout<<'.';
     9         if(a[i][j]==2)cout<<'*';
    10         if(a[i][j]==0)cout<<'#';
    11     }
    12     cout<<endl;
    13     }
    14 }
    15 int main(){
    16     freopen("migong.txt","r",stdin);
    17     cin>>n;
    18     int i,j,x,y;
    19     for(i=1;i<=n;i++)
    20         for(j=1;j<=n;j++)
    21         scanf("%d",&a[i][j]);
    22     a[1][1]=2;i=1;j=1;
    23     out();
    24     char k;
    25     while(i!=n||j!=n){
    26         k=getch();
    27         x=i;y=j;
    28         if(k=='w')i--;if(k=='s')i++;if(k=='a')j--;if(k=='d')j++;
    29         a[1][1]=1;if(a[i][j]==0)i=x,j=y;
    30         a[i][j]=2;
    31         system("cls");
    32         out();
    33         a[i][j]=1;
    34     }
    35     cout<<"YOU WIN!"<<endl;
    36     k=getch();
    37 }
    View Code

    两个文件编译后放在同一个文件夹里,运行make.exe。

  • 相关阅读:
    svg入门
    常用颜色对照表
    字节序
    eclipse常用快捷键
    jenkins 安装
    redis
    Linux
    jenkins
    jenkins
    jenkins- 自动部署java包至远程服务器
  • 原文地址:https://www.cnblogs.com/mimiorz/p/7274499.html
Copyright © 2011-2022 走看看