• Domingo 15 de Diciembre de 2024, 07:52

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - punketo666

Páginas: [1]
1
C/C++ / Laberinto nunca termina ciclo porfavor leer codigo T_T
« en: Lunes 13 de Diciembre de 2010, 02:11 »
Buenas pues he intentado hacer un laberinto pero no he podido, se supone que con la funcion random hago que nunca sea el mismo pero no he podido porfavor si ven algun error
estoy trabajando con dev c

Código: C++
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4.  
  5. int main()
  6. {
  7.     int i,j,tablero[50][50],mov,der,izq,c;
  8.    
  9.     //RELLENAR EL TABLERO DE MUROS//
  10.     for(i=0;i<10;i++)
  11.     {
  12.                      for(j=0;j<10;j++)
  13.                      {
  14.                                       tablero[i][j]=1;//MUROS=1..............ESPACIO=2//
  15.                      }
  16.     }
  17.     tablero[0][0]=3;
  18.     tablero[9][9]=4;
  19.    
  20.    
  21.     i=0;
  22.     j=0;
  23.     der=0;
  24.     izq=0;
  25.     c=0;
  26.    
  27.     while(c==0)
  28.     {
  29.            mov=rand()%3+1;
  30.            if((mov==1 && tablero[i][j+1]==1) && (tablero[i][j-1]==1) && tablero[i+1][j]==1)//abajo
  31.            {
  32.                      if(i+1<=8)
  33.                      {
  34.                             tablero[i+1][j]=2;
  35.                             i=i+1;
  36.                             der=0;
  37.                             izq=0;
  38.                      }
  39.            }
  40.            if(mov==2 && tablero[i][j+1]==1 && tablero[i][j-1]==1 && tablero[i+1][j]==1)//izquierda
  41.            {
  42.                      if(j-1>=0)
  43.                      {
  44.                                tablero[i][j-1]=2;
  45.                                j=j-1;
  46.                                der=1;
  47.                                izq=1;
  48.                      }
  49.            }
  50.            if(mov==3 && tablero[i][j+1]==1 && tablero[i][j-1]==1 && tablero[i+1][j]==1)//derecha
  51.            {
  52.                        if(j+1<=8)
  53.                        {
  54.                                  tablero[i][j+1]=2;
  55.                                  j=j+1;
  56.                                  der=1;
  57.                                  izq=1;
  58.                        }
  59.            }
  60.            
  61.            if(tablero[9][8]==2 || tablero[8][9]==2)
  62.            {
  63.                                c=c+1;
  64.            }
  65.     }
  66.                      
  67.    
  68.    
  69.     for(i=0;i<10;i++)
  70.     {
  71.                      for(j=0;j<10;j++)
  72.                      {
  73.                                       if(tablero[i][j]==2)
  74.                                       {
  75.                                                           printf(" ");
  76.                                       }
  77.                                       if(tablero[i][j]==3)
  78.                                       {
  79.                                                           printf("E");
  80.                                       }
  81.                                       if(tablero[i][j]==4)
  82.                                       {
  83.                                                           printf("S");
  84.                                       }
  85.                                       if(tablero[i][j]==1)
  86.                                       {
  87.                                                           printf("*");
  88.                                       }
  89.                      }
  90.                      printf("n");
  91.     }
  92.    
  93.     system ("pause");
  94.     return 0;
  95.     }
  96.  

Páginas: [1]