Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2010, 08:05
llkira
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 14 años, 2 meses
Puntos: 0
Busqueda Juego de la vida

Hola, soy nuevo en el foro y en C, trato de hacer el famoso "juego de la vida". Bien, mi duda esta en "ng", esta funcion deberia servir como contador de "vecinos", creo que tiene algun error porque siempre aparecen al correrlo entre 2 y 5 individuos o bacterias y siempre en la fila 0 y en la columna 0. En una matriz de 24*24. Lo demas queda vacio.
Código C++:
Ver original
  1. void actualizar(char a[][p], int l, int f, int c)
  2.         {
  3.                
  4.  
  5.              if(l < 2 || l > 3) {
  6.                          a[f][c] = '0';}
  7.                     if(l == 2 || l == 3) {
  8.                          a[f][c] = '1';}
  9.                          
  10.                                                
  11.              }
  12. void ng(char a [][p], int l)
  13.  
  14. {
  15.      int f,c;
  16.      for(f = 0; f < d; f++){
  17.            
  18.      for(c = 0; c < p; c++)
  19.      {
  20.          
  21.            if(a[f][c] != ' ')
  22.            {
  23.               if(f > 0 && c > 0){
  24.                    
  25.                    if(a[f-1] [c-1] != ' ')
  26.                      {l++;}}
  27.               if(f > 0) {
  28.                    
  29.                    if(a[f-1] [c] != ' ')
  30.                    {l++;}}
  31.                
  32.               if(f > 0 && c < p) {
  33.                    
  34.                     if(a [f-1] [c+1] != ' ')
  35.                   {l++;}}
  36.               if(c > 0) {
  37.                    
  38.                    if(a [f][c-1] != ' ')
  39.                    {l++;}}
  40.                if(c < p) {
  41.                    
  42.                     if(a [f][c+1] != ' ')
  43.                     {l++;}}
  44.                if(f < d && c > 0){
  45.                    
  46.                     if(a[f+1] [c-1] != ' ')
  47.                      {l++;}}
  48.                if(f < d) {
  49.                    
  50.                     if(a [f + 1] [c] != ' ')
  51.                       {l++;}}
  52.                if(f < d && c < p) {
  53.                    
  54.                     if(a [f + 1] [c + 1] != ' ')
  55.                       {l++;}}}
  56.                      
  57.                       actualizar(a, l, f, c);
  58.                      
  59.                       l = 0;                          
  60.                                  
  61.  
  62.      }}