def __init__(self,*args,**kwargs): '''Metodo constructor de la clase laberinto''' b=Busqueda() self.prueba=2 if (len(args)==2) and isinstance(args[0],str) and isinstance(args[1],str): self.read_json(args[0]) if(self.comprobar_integridad()): print("Ha dado error en el json") estado_inicial,estado_objetivo,maze=b.readjson(args[1]) else: self.filas=args[0] self.columnas=args[1] self.casillas=self.tablero() self.to_json(self.casillas) estado_inicial=str((0,0)) estado_objetivo=str((self.filas-1,self.columnas-1)) maze=None lista_estados=b.generar_estados(self.casillas) if(self.comprobar_integridad_fichero_nodos(estado_inicial,estado_objetivo,maze)): print('Introduzca la estrategia del problema\n') print('Las estrategias disponibles son: A, BREADTH, DEPTH, UNIFORM, GREEDY\n') estrategia=str(input('>>')) estrategia=estrategia.upper() while (estrategia!='A' and estrategia!='BREADTH' and estrategia!='DEPTH' and estrategia!='UNIFORM' and estrategia!='GREEDY'): print('Error introduciendo estrategia\n') print('RECUERDE: las estrategias disponibles son: A, BREADTH, DEPTH, UNIFORM, GREEDY\n') estrategia=str(input('>>')) estrategia=estrategia.upper() estado,frontera,visitados,lista_solucion=self.problema(estado_inicial,estado_objetivo,maze,lista_estados,estrategia) self.dibujar(self.casillas,frontera,visitados,lista_solucion,estrategia) b.imprimir_solucion(lista_solucion,self.filas,self.columnas,estrategia) else: print("Finalizando programa....")