Exemple #1
0
 def __init__(self, rens, cols, generaciones, poblacion):
     self.__rens = rens
     self.__cols = cols
     self.__grid = Array2D(rens, cols, 0)
     self.__generaciones = generaciones + 1
     for celula in poblacion:
         self.__grid.set_item(celula[0], celula[1], self.CELULA_VIVA)
 def __init__(self, rens, cols, pasillos, entrada, salida):
     self.__laberinto = Array2D(rens, cols, '1')
     for pasillo in pasillos:
         self.__laberinto.set_item(pasillo[0], pasillo[1], '0')
     self.set_entrada(entrada[0], entrada[1])
     self.set_salida(salida[0], salida[1])
     self.__camino = Stack()
     self.__previa = None
Exemple #3
0
 def __init__(self, rows, cols, generaciones, poblacion_inicial):
     self.__cuadro = Array2D(rows, cols)
     self.__filas = rows
     self.__columnas = cols
     self.__generaciones = generaciones
     self.__cuadro.Clearing(0)
     for cell in poblacion_inicial:
         self.__cuadro.set_item(cell[0], cell[1], 1)
Exemple #4
0
 def __init__(self,rens,cols,pasillos, entrada, salida):
     self.__laberinto= Array2D(rens,cols,"1")
     for pasillo in pasillos:
         self.__laberinto.set_item(pasillo[0], pasillo[1],"0")
     self.set_entrada(entrada[0],entrada[1])
     self.set_salida(salida[0],salida[1])
     self.__camino=Stack()
     self.__previa=None# guarda la posición previa
Exemple #5
0
 def imprime_grid(self, gen):
     print(f"Generación {gen}")
     gridString = Array2D(self.__rens, self.__cols, "░░")
     for r in range(self.__rens):
         for c in range(self.__cols):
             if self.__grid.get_item(r, c) == 1:
                 gridString.set_item(r, c, "▓▓")
     gridString.to_string()
     self.evolucionar()
Exemple #6
0
 def _init_(self,rows,cols,generaciones,poblacion_inicial):
     self.__cuadro = Array2D(rows,cols)
     self.__filas = rows
     self.__columnas = cols
     self.__generaciones = generaciones
     #poblacion_inicial = [[1,3],[2,2],[2,3],[2,4]]
     self.__cuadro.clearing(0)
     for cell in poblacion_inicial:
         self.__cuadro.set_item(cell[0],cell[1],1)
Exemple #7
0
 def evolucionar(self):
     nuevaGeneracion = Array2D(self.__rens, self.__cols, 0)
     for r in range(self.__rens):
         for c in range(self.__cols):
             conteo = self.get_numero_vecinos_vivos(r, c)
             if (self.get_is_viva(r, c)):
                 if conteo >= 2 and conteo <= 3:
                     nuevaGeneracion.set_item(r, c, self.CELULA_VIVA)
                 if conteo <= 1:
                     nuevaGeneracion.set_item(r, c, self.CELULA_MUERTA)
                 if conteo >= 4:
                     nuevaGeneracion.set_item(r, c, self.CELULA_MUERTA)
             else:
                 if conteo == 3:
                     nuevaGeneracion.set_item(r, c, self.CELULA_VIVA)
     self.__actualizarGrid__(nuevaGeneracion)
Exemple #8
0
 def reglas(self):
     self.__nuevo = Array2D(self.__rows,self.__cols)
     self.__nuevo.clearing(0)
     for r in range(self.__rows):
         for c in range(self.__cols):
             vivo = self.is_alive_cell(r,c)
             vecino = self.get_alive_neighbors(r,c)
             if vivo == True:
                 if vecino == 2 or vecino == 3:      
                     self.__nuevo.set_item(r,c,1)
                 if vecino < 2:                      
                     self.__nuevo.set_item(r,c,0)
                 if vecino >= 4:                     
                     self.__nuevo.set_item(r,c,0)
             else:
                 if vecino == 3:                     
                     self.__nuevo.set_item(r,c,1)
     self.__grid = self.__nuevo 
     return self.__grid   
 def juegoDeLaVida(self):
     self.__gridN = Array2D(self.__rows, self.__cols)
     self.__gridN.clearing(0)
     for r in range(self.__rows):
         for c in range(self.__cols):
             celula_viva = self.is_alive_cell(r, c)
             celula_vecina = self.get_alive_neighbors(r, c)
             if celula_viva == True:
                 if celula_vecina == 2 or celula_vecina == 3:
                     self.__gridN.set_item(r, c, 1)
                 if celula_vecina < 2:
                     self.__gridN.set_item(r, c, 0)
                 if celula_vecina >= 4:
                     self.__gridN.set_item(r, c, 0)
             else:
                 if celula_vecina == 3:
                     self.__gridN.set_item(r, c, 1)
     self.__grid = self.__gridN
     return self.__grid
Exemple #10
0
    def reglas(self):

        self.__nuevo = Array2D(self.__rows, self.__cols)
        self.__nuevo.clearing(0)
        for r in range(self.__rows):
            for c in range(self.__cols):
                vivo = self.is_alive_cell(r, c)
                vecino = self.get_alive_neighbors(r, c)
                if vivo == True:
                    #Regla 1
                    if vecino == 2 or vecino == 3:
                        self.__nuevo.set_item(r, c, 1)
                        #Regla 2
                    if vecino < 2:
                        self.__nuevo.set_item(r, c, 0)
                        #Regla 3
                    if vecino >= 4:
                        self.__nuevo.set_item(r, c, 0)
                else:
                    #Regla 4
                    if vecino == 3:
                        self.__nuevo.set_item(r, c, 1)
        self.__grid = self.__nuevo
        return self.__grid  #Tabla con la nueva generación
Exemple #11
0
 def __actualizarGrid__(self, nuevaGeneracion: Array2D):
     for r in range(self.__rens):
         for c in range(self.__cols):
             self.__grid.set_item(r, c, nuevaGeneracion.get_item(r, c))
Exemple #12
0
 def __init__(self,rows,cols):
     self.__rows = rows
     self.__cols = cols
     self.__gens = 0
     self.__grid = Array2D(rows,cols)
     self.__grid.clearing(0)
 def __init__(self, rens, cols, pasillos):
     self.__laberinto = Array2D(rens, cols, 1)
     for pasillo in pasillos:
         self.__laberinto.set_item(pasillo[0], pasillo[1], 0)
Exemple #14
0
 def __init__(self, rows, cols, generaciones, poblacion_inicial):
     self.__cuadro=Array2D(rows, cols)
     self.__filas=rows
     self.__columnas=cols
     self.__generaciones=generaciones
 def __init__(self,nRows,nCols):
     self._theGrid = Array2D(nRows,nCols)
     self._theGrid.Clear(0)