Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Juego de la vida

Estas en el tema de Juego de la vida en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/08/2010, 08:05
 
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.      }}
  #2 (permalink)  
Antiguo 28/08/2010, 13:00
 
Fecha de Ingreso: julio-2010
Mensajes: 15
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Juego de la vida

y de donde salio el valor d de la funcion ng??
  #3 (permalink)  
Antiguo 29/08/2010, 10:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 14 años, 2 meses
Puntos: 0
Juego de la vida

Hola, he corregido el programa y ya funciona solo tiene un error parece ser en las llaves pero no la encuentro :s agradecería cualquier ayuda. Dice "expected declaration before '}' token".
Otra pregunta.. Tengo dev c++, he visto que hay una opción para que haciendo click en una llave el programa te sombrea con cual llave esta asociada, es decir, señala cual es la llave q esta cerrando. Como se implementa esa opcion porque no la tengo seria de gran ayuda
Código C++:
Ver original
  1. void f5(char a[][c]){
  2.      
  3.      int n,i,w = 0;
  4.      for(n = 0;n<f;n++)
  5.      {
  6.            for(i = 0;i<c;i++)
  7.            {
  8.                  if(a[n][i] == 'x')
  9.                  {
  10.                             if(i>0){
  11.                                     if(n>0) {
  12.                                             if(a[n-1][i-1] == 'x')
  13.                                     {w++;}}
  14.                                     if(a[n][i-1] == 'x') {w++;}
  15.                                     if(n<f) {
  16.                                     if(a[n+1][i-1]== 'x') {w++;}}}
  17.                                    
  18.                             if(n>0) {  
  19.                                     if(a[n-1][i] == 'x') {w++;} }
  20.                                    
  21.                                   if(n<f) { if(a[n+1][i] == 'x') {w++;}}
  22.                            
  23.                                    
  24.                             if(i<c)
  25.                             {
  26.                                  if(n>0) {  
  27.                                    if(a[n-1][i+1] == 'x'){w++;}}
  28.                                    if(a[n][i+1] == 'x') {w++;}
  29.                                    if(n<f) {
  30.                                    if(a[n+1][i+1] == 'x') {w++;}}
  31.                                    }
  32.                             }
  33.                             f7(a,w,n,i);//Reglas de supervivencia
  34.                             w = 0;
  35.                            
  36.                  }//if principal
  37.            }//for
  38.      
  39.      }//for
  40.      
  41.    }// Funcion

Última edición por llkira; 13/09/2010 a las 12:05

Etiquetas: vida, juegos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:51.