Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <unistd.h>
- #define RATO 1
- #define LIVRE 32
- #define VISITADA 45
- #define BECO 176
- #define PAREDE 219
- int render(int l[15][15], int i, int j, int n, int x, int y);
- //variáveis
- int main(){
- srand(time(NULL));
- int n=15;
- int l[n][n];
- int i,j,r,x,y;
- x=2, y=2;
- //Mapa
- for (j=0;j<n;j++){
- for (i=0;i<n;i++){
- //blocos aleatórios
- r=rand() % 3;
- if(r == 0){
- l[i][j]=PAREDE;
- }
- else{
- l[i][j]=LIVRE;
- }
- //blocos definidos
- if(j==0)l[i][j]=PAREDE;
- if(j==n-1)l[i][j]=PAREDE;
- if(i==0)l[i][j]=PAREDE;
- if(i==n-1)l[i][j]=PAREDE;
- }
- //
- }
- for (j=0;j<n;j++){
- printf("\n");
- for (i=0;i<n;i++){
- l[x][y]=RATO;
- switch (l[i][j]){
- case LIVRE:
- printf("%c",LIVRE);
- break;
- case VISITADA:
- printf("%c",VISITADA);
- break;
- case PAREDE:
- printf("%c",PAREDE);
- break;
- case BECO:
- printf("%c",BECO);
- break;
- case RATO:
- printf("%c",RATO);
- break;
- }
- }}
- /////
- sleep(3);
- //IA
- int saida, passa, breca, x2, y2; saida = 1;
- //printf("%d \n",saida);
- while(saida==1){passa = 0;breca = 0;
- if(l[x-1][y]==LIVRE)x2=x-1, y2=y, passa++;
- if(l[x+1][y]==LIVRE)x2=x+1, y2=y, passa++;
- if(l[x][y-1]==LIVRE)x2=x, y2=y-1, passa++;
- if(l[x][y+1]==LIVRE)x2=x, y2=y+1, passa++;
- if(passa==0){
- if(l[x-1][y]==VISITADA)x2=x-1, y2=y, breca++;
- if(l[x+1][y]==VISITADA)x2=x+1, y2=y, breca++;
- if(l[x][y-1]==VISITADA)x2=x, y2=y-1, breca++;
- if(l[x][y+1]==VISITADA)x2=x, y2=y+1, breca++;
- if(breca<=1){l[x][y]=BECO;}else{l[x][y]=VISITADA;}
- }else{l[x][y]=VISITADA;}
- x=x2, y=y2;
- system("cls");
- for (j=0;j<n;j++){
- printf("\n");
- for (i=0;i<n;i++){
- l[x][y]=RATO;
- switch (l[i][j]){
- case LIVRE:
- printf("%c",LIVRE);
- break;
- case VISITADA:
- printf("%c",VISITADA);
- break;
- case PAREDE:
- printf("%c",PAREDE);
- break;
- case BECO:
- printf("%c",BECO);
- break;
- case RATO:
- printf("%c",RATO);
- break;
- }
- }}
- /////
- sleep(1);
- if(passa==0 && saida==0)saida=0;
- }
- return 0;
- }
- //compositor do mapa
- int render(int l[15][15], int i, int j, int n, int x, int y){
- //
- //
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement