SHARE
TWEET

Untitled

a guest May 24th, 2019 73 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <unistd.h>
  5. #define RATO 1
  6. #define LIVRE 32
  7. #define VISITADA 45
  8. #define BECO 176
  9. #define PAREDE 219
  10. int render(int l[15][15], int i, int j, int n, int x, int y);
  11. //variáveis
  12. int main(){
  13.    
  14.     srand(time(NULL));
  15.     int n=15;
  16.     int l[n][n];
  17.     int i,j,r,x,y;
  18.     x=2, y=2;
  19.         //Mapa
  20.     for (j=0;j<n;j++){
  21.         for (i=0;i<n;i++){
  22.             //blocos aleat├│rios
  23.             r=rand() % 3;
  24.             if(r == 0){
  25.                 l[i][j]=PAREDE;
  26.             }
  27.             else{
  28.                 l[i][j]=LIVRE;
  29.             }
  30.             //blocos definidos
  31.             if(j==0)l[i][j]=PAREDE;
  32.             if(j==n-1)l[i][j]=PAREDE;
  33.             if(i==0)l[i][j]=PAREDE;
  34.             if(i==n-1)l[i][j]=PAREDE;
  35.            
  36.         }
  37.         //
  38.        
  39.            
  40.     }
  41.         for (j=0;j<n;j++){
  42.         printf("\n");
  43.         for (i=0;i<n;i++){
  44.         l[x][y]=RATO;
  45.                 switch (l[i][j]){
  46.                     case LIVRE:
  47.                     printf("%c",LIVRE);
  48.                     break;
  49.                    
  50.                     case VISITADA:
  51.                     printf("%c",VISITADA);
  52.                     break;
  53.                    
  54.                     case PAREDE:
  55.                     printf("%c",PAREDE);
  56.                     break;
  57.                    
  58.                     case BECO:
  59.                     printf("%c",BECO);
  60.                     break;
  61.                    
  62.                     case RATO:
  63.                     printf("%c",RATO);
  64.                     break;
  65.                
  66.             }
  67.         }}
  68.         /////
  69.         sleep(3);
  70.         //IA
  71.     int saida, passa, breca, x2, y2; saida = 1;
  72.     //printf("%d \n",saida);
  73.     while(saida==1){passa = 0;breca = 0;
  74.         if(l[x-1][y]==LIVRE)x2=x-1, y2=y, passa++;
  75.         if(l[x+1][y]==LIVRE)x2=x+1, y2=y, passa++;
  76.         if(l[x][y-1]==LIVRE)x2=x, y2=y-1, passa++;
  77.         if(l[x][y+1]==LIVRE)x2=x, y2=y+1, passa++;
  78.         if(passa==0){
  79.         if(l[x-1][y]==VISITADA)x2=x-1, y2=y, breca++;
  80.         if(l[x+1][y]==VISITADA)x2=x+1, y2=y, breca++;
  81.         if(l[x][y-1]==VISITADA)x2=x, y2=y-1, breca++;
  82.         if(l[x][y+1]==VISITADA)x2=x, y2=y+1, breca++;
  83.         if(breca<=1){l[x][y]=BECO;}else{l[x][y]=VISITADA;}
  84.         }else{l[x][y]=VISITADA;}
  85.         x=x2, y=y2;
  86.         system("cls");
  87.        
  88.  
  89.         for (j=0;j<n;j++){
  90.         printf("\n");
  91.         for (i=0;i<n;i++){
  92.         l[x][y]=RATO;
  93.                 switch (l[i][j]){
  94.                     case LIVRE:
  95.                     printf("%c",LIVRE);
  96.                     break;
  97.                    
  98.                     case VISITADA:
  99.                     printf("%c",VISITADA);
  100.                     break;
  101.                    
  102.                     case PAREDE:
  103.                     printf("%c",PAREDE);
  104.                     break;
  105.                    
  106.                     case BECO:
  107.                     printf("%c",BECO);
  108.                     break;
  109.                    
  110.                     case RATO:
  111.                     printf("%c",RATO);
  112.                     break;
  113.                
  114.             }
  115.         }}
  116.         /////
  117.         sleep(1);
  118.         if(passa==0 && saida==0)saida=0;
  119.     }
  120.    
  121.     return 0;
  122. }
  123. //compositor do mapa
  124. int render(int l[15][15], int i, int j, int n, int x, int y){
  125.     //
  126.    
  127.         //
  128.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top