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
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)
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
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()
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)
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)
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
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
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))
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)
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)