def validacion(self): if len(self.cadena) % 2 == 0: print("Es par") p = Automata.Pila() p.apilar("#") guardar = Lista.Listas() guardar.addPila("#") print("la pila", p.mostrar()) aux = EstadoPar.EstadosPar(self.cadena, p, self.error, guardar) aux.estado1(p) print(aux.retorno()) if (aux.retorno()): self.estadoPila = aux.devolverPila() self.estadoPila.append("#") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("True") print(self.estados) print("-> Palabra Acepatada PALINDROMO!!!") print("la pila", p.mostrar()) else: self.estadoPila = aux.devolverPila() self.estadoPila.append("#") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("False") print(self.estados) print("-> Palabra no Aceptada, NOOOOO es PALINDROMO!!!!") if len(self.cadena) % 2 != 0: print(' Esta palabra es impar y no es aceptada') print("NOJODAAAAAAAAAAAA", aux.devolverEstados()) print("Diossssssss", aux.devolverPila()) def load_image(filename, transparent=False): try: image = pygame.image.load(filename) except pygame.error, message: raise SystemExit, message image = image.convert() if transparent: color = image.get_at((0, 0)) image.set_colorkey(color, RLEACCEL) return image
def validacion(self): if len(self.cadena) % 2 == 0: print(' Esta palabra es par y no es aceptada') if len(self.cadena) % 2 != 0: p = Automata.Pila() p.apilar("#") guardar = Lista.Listas() guardar.addPila("#") #print("pila grajdklm",guardar.mostrarPila()) print("la pila", p.mostrar()) aux = EstadoImpar.EstadosImpar(self.cadena, p, self.error, guardar) aux.estado1(p) print(aux.retorno()) if aux.retorno(): self.estadoPila = aux.devolverPila() self.estadoPila.append("#") #self.estadoPila.append("True") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("True") #self.estados.append(" ") print(self.estados) print("-> Palabra Acepatada PALINDROMO!!!") print(p.mostrar()) else: self.estadoPila = aux.devolverPila() self.estadoPila.append("#") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("False") print(self.estados) print("-> Palabra no Aceptada, NOOOOO es PALINDROMO!!!!") # iniciamos el PYGAME def load_image(filename, transparent=False): try: image = pygame.image.load(filename) except pygame.error, message: raise SystemExit, message image = image.convert() if transparent: color = image.get_at((0, 0)) image.set_colorkey(color, RLEACCEL) return image # --------------------------------------------------------------------- def main(cadena, devolverEstados, devolverPila): # Constantes listaPila = devolverPila listaEstado = devolverEstados WIDTH = 903 HEIGHT = 542 reloj = pygame.time.Clock() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("<-- PALINDROMO PAR --") background_image = load_image('img/impar.png') #imagenes errorTrue = pygame.image.load("img/ERRROR_TRUE.png") errorFalse = pygame.image.load("img/ERRROR_FALSE.png") flecha = pygame.image.load("img/flecha.png") apilar = pygame.image.load("img/APILAR.png") desapilar = pygame.image.load("img/DESAPILAR.png") fuente = pygame.font.Font(None, 26) texto1 = fuente.render(cadena, 0, (9, 104, 146)) fuentea = pygame.font.Font(None, 60) #coordenadas de imagenes #flecha xFlecha = 293 yFlecha = 233 #apilar1 xapi = 1000 yapi = 1000 #desapilar xdesa = 1000 ydesa = 1000 i = 0 #errorTrue xTrue = 1000 yTrue = 1000 #errorFalse xFalse = 1000 yFalse = 1000 while True and i < len(listaPila): for eventos in pygame.event.get(): if eventos.type == QUIT: sys.exit(0) pulsada = pygame.key.get_pressed() #reubica ala imagen apilar y desapilar xapi = 1000 yapi = 1000 xdesa = 1000 ydesa = 1000 if listaEstado[ i] == "f": #1 b,b/bb -> desaapila b apila bb xFlecha = 154 yFlecha = 107 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[ i] == "e": #2 a,b/ba -> desaapila b apila ba xFlecha = 154 yFlecha = 137 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[i] == "d": #3 b,a/ab ->desaapila a apila ab xFlecha = 154 yFlecha = 174 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[ i] == "c": #4 a,a/aa ->desapila a y apila aa xFlecha = 154 yFlecha = 211 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[i] == "b": #5 b,#/#b ->apila b xFlecha = 154 yFlecha = 248 #apila xapi = 574 yapi = 72 if listaEstado[i] == "a": #6 a,#/#a ->apila a xFlecha = 154 yFlecha = 280 #apila xapi = 574 yapi = 72 if listaEstado[i] == "g": #7 c,#/# xFlecha = 308 yFlecha = 329 if listaEstado[i] == "h": #8 c,b/b -> apila b xFlecha = 308 yFlecha = 368 if listaEstado[i] == "i": #9 c,a/a -> apila a xFlecha = 308 yFlecha = 415 if listaEstado[i] == "j": #10 b,b/landa -> desapila b xFlecha = 570 yFlecha = 285 #desapi xdesa = 724 ydesa = 276 if listaEstado[i] == "k": #11 a,a/landa -> desapila a xFlecha = 571 yFlecha = 320 #desapi xdesa = 724 ydesa = 276 if listaEstado[i] == "True": #12 landa/#/# final del xFlecha = 532 yFlecha = 431 #desapi xdesa = 724 ydesa = 276 if listaEstado[i] == "True": #4 xTrue = 183 yTrue = 129 if listaEstado[i] == "False": #4 xFalse = 183 yFalse = 129 reloj.tick(0.5) screen.fill((0, 0, 0)) screen.blit(background_image, (0, 0)) screen.blit(flecha, (xFlecha, yFlecha)) a = fuentea.render(listaPila[i], 0, (0, 0, 0)) screen.blit(a, (348, 160)) screen.blit(apilar, (xapi, yapi)) screen.blit(apilar, (1000, 1000)) #reloj.tick(0.1) screen.blit(desapilar, (xdesa, ydesa)) screen.blit(desapilar, (1000, 1000)) screen.blit(texto1, (654, 427)) screen.blit(errorTrue, (xTrue, yTrue)) screen.blit(errorFalse, (xFalse, yFalse)) pygame.display.update() pygame.display.flip() i = i + 1 return 0 pygame.init() main(self.cadena, aux.devolverEstados(), aux.devolverPila())